<!DOCTYPE html>
<html manifest="app.manifest">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<meta name="apple-mobile-web-app-capable" content="yes">
	<meta name="mobile-web-app-capable" content="yes">
	<meta name="format-detection" content="telephone=yes">
	<meta name="viewport" content="width=device-width, maximum-scale=1.0, initial-scale=1.0, user-scalable=no"/>

	<title>Project14Client</title>

	<style type="text/css">html,body{-webkit-touch-callout:none;-webkit-user-select:none;background-color:#000;overflow:hidden}*{margin:0;padding:0;border:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-o-tap-highlight-color:transparent;tap-highlight-color:transparent;-webkit-border-style:none;-moz-border-style:none;-ms-border-style:none;-o-border-style:none;border-style:none;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:always;-moz-font-smoothing:always;-ms-font-smoothing:always;font-smoothing:always;-webkit-user-select:none;font-family:"Helvetica Neue",Helvetica,sans-serif}@-webkit-keyframes move_bg_progressmeter{0%{background-position:50px 50px}100%{background-position:0 0}}@-moz-keyframes move_bg_progressmeter{0%{background-position:50px 50px}100%{background-position:0 0}}@-o-keyframes move_bg_progressmeter{0%{background-position:50px 50px}100%{background-position:0 0}}.TW3ProgressBar{border:2px solid rgba(0,0,0,.3);background-color:#FFF;overflow:hidden;-webkit-touch-callout:none;-webkit-user-select:none;-webkit-border-radius:25px;-moz-border-radius:25px;-ms-border-radius:25px;-o-border-radius:25px;border-radius:25px}.TW3ProgressMeter{overflow:hidden;margin:0;padding:0;background-color:rgba(144,156,179,1);-webkit-touch-callout:none;-webkit-user-select:none;-webkit-animation:move_bg_progressmeter 3s linear infinite;-moz-animation:move_bg_progressmeter 3s linear infinite;-o-animation:move_bg_progressmeter 3s linear infinite;background-size:50px 50px;-webkit-background-size:50px 50px;-moz-background-size:50px 50px;-ms-background-size:50px 50px;-o-background-size:50px 50px;border-radius:25px;-webkit-border-radius:25px;-moz-border-radius:25px;-ms-border-radius:25px;-o-border-radius:25px;background-image:-webkit-gradient(linear,0 0,100% 100%,color-stop(.25,rgba(255,255,255,.2)),color-stop(.25,transparent),color-stop(.5,transparent),color-stop(.5,rgba(255,255,255,.2)),color-stop(.75,rgba(255,255,255,.2)),color-stop(.75,transparent),to(transparent) );background-image:-moz-linear-gradient( -45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent );background-image:-ms-linear-gradient( -45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent );background-image:-o-linear-gradient( -45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent )}.TW3ScrollbarUpBtn{border-top:1px solid rgba(0,0,0,.3);background-color:#FFF;overflow:hidden;border-bottom-left-radius:24px;border-bottom-right-radius:24px;box-shadow:0 4px 0 -2px #F1F1F1 inset,0 2em 2em -2em #AAA inset,0 0 2px rgba(0,0,0,.5)}.TW3ScrollbarDownBtn{border-bottom:1px solid rgba(0,0,0,.3);background-color:#FFF;overflow:hidden;border-top-left-radius:24px;border-top-right-radius:24px;box-shadow:0 4px 0 -2px #F1F1F1 inset,0 2em 2em -2em #AAA inset,0 0 2px rgba(0,0,0,.5)}.TW3ScrollbarUpBtn:active,.TW3ScrollbarDownBtn:active{background-color:#E5E5E5}.TW3ScrollbarDownBtn:hover,.TW3ScrollbarUpBtn:hover{cursor:pointer}.TW3ScrollbarLeftBtn{border-right:1px solid rgba(0,0,0,.3);background-color:#FFF;overflow:hidden;border-top-left-radius:24px;border-bottom-left-radius:24px;box-shadow:0 4px 0 -2px #F1F1F1 inset,0 2em 2em -2em #AAA inset,0 0 2px rgba(0,0,0,.5)}.TW3ScrollbarRightBtn{border-left:1px solid rgba(0,0,0,.3);background-color:#FFF;overflow:hidden;border-top-right-radius:24px;border-bottom-right-radius:24px;box-shadow:0 4px 0 -2px #F1F1F1 inset,0 2em 2em -2em #AAA inset,0 0 2px rgba(0,0,0,.5)}.TW3ScrollbarLeftBtn:active,.TW3ScrollbarRightBtn:active{background-color:#E5E5E5}.TW3ScrollbarLeftBtn:hover,.TW3ScrollbarRightBtn:hover{cursor:pointer}.TW3ScrollbarHandle{border-radius:25px;border:1px solid rgba(0,0,0,.3);background-color:#FFF;overflow:hidden;//box-shadow:0 4px 0 -2px #F1F1F1 inset,0 2em 2em -2em #AAA inset,0 0 2px rgba(0,0,0,.5)}.TW3ScrollbarHandle:active{background-color:#E5E5E5}.TW3ScrollbarHandle:Hover{cursor:pointer}.TW3VerticalScrollbar{border:1px solid rgba(0,0,0,.4);overflow:hidden;border-radius:24px;background-color:rgba(250,250,250,.3);-webkit-touch-callout:none}.TW3VerticalScrollbar:disabled{opacity:.5;cursor:wait}.TW3HorizontalScrollbar{border:1px solid rgba(0,0,0,.4);overflow:hidden;border-radius:24px;background-color:rgba(250,250,250,.3);-webkit-touch-callout:none}.TW3HorizontalScrollbar:disabled{opacity:.5;cursor:wait}.TW3BlockBox{overflow:hidden;-webkit-touch-callout:none;-webkit-user-select:none;margin:0;padding:0;background-color:rgba(0,0,0,.50)}.TW3CheckMark{margin:0;padding:0}.TW3ScrollContentIndicator{margin:0;padding:0;background-color:#222;border:solid 1px #9A9A9A}@-webkit-keyframes BACKSCROLL{0%{-webkit-transform:translateZ(0);background-position:0 0}100%{background-position:-557px 0;-webkit-transform:translateZ(0)}}@-moz-keyframes BACKSCROLL{0%{-webkit-transform:translateZ(0);background-position:0 0}100%{background-position:-557px 0;-webkit-transform:translateZ(0)}}@-webkit-keyframes MOVE-LEFT{0%{-webkit-transform:translateX(100%)}100%{-webkit-transform:translateX(0px)}}@-webkit-keyframes MOVE-OUT-LEFT{0%{-webkit-transform:translateX(0%)}100%{-webkit-transform:translateX(-100%)}}@-moz-keyframes MOVE-LEFT{0%{-moz-transform:translateX(100%)}100%{-moz-transform:translateX(0px)}}@-moz-keyframes MOVE-OUT-LEFT{0%{-moz-transform:translateX(0%)}100%{-moz-transform:translateX(-100%)}}@-webkit-keyframes MOVE-RIGHT{0%{-webkit-transform:translateX(-100%)}100%{-webkit-transform:translateX(0%);visibility:none}}@-webkit-keyframes MOVE-OUT-RIGHT{0%{-webkit-transform:translateX(0%)}100%{-webkit-transform:translateX(100%);visibility:none}}@-moz-keyframes MOVE-RIGHT{0%{-moz-transform:translateX(-100%)}100%{-moz-transform:translateX(0%)}}@-moz-keyframes MOVE-OUT-RIGHT{0%{-moz-transform:translateX(0%)}100%{-moz-transform:translateX(100%);visibility:none}}@-webkit-keyframes ROTATE-FOREVER{from{-webkit-transform:none}to{-webkit-transform:rotate(360deg)}}@-moz-keyframes ROTATE-FOREVER{from{-moz-transform:none}to{-moz-transform:rotate(360deg)}}.TW3ToolButton{-webkit-box-shadow:0 1px 1px #9aa5bb,0 -1px 1px #8e96a5;-moz-box-shadow:0 1px 1px #9aa5bb,0 -1px 1px #8e96a5;-ms-box-shadow:0 1px 1px #9aa5bb,0 -1px 1px #8e96a5;-o-box-shadow:0 1px 1px #9aa5bb,0 -1px 1px #8e96a5;box-shadow:0 1px 1px #9aa5bb,0 -1px 1px #8e96a5;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px;cursor:default;color:#fff;font-family:"Helvetica Neue",Helvetica,sans-serif;font-size:12px;border:solid 1px #54617d;border-color:#484e59 #54617d #4c5c7a #54617d;background:rgb(146,161,191);background:-moz-linear-gradient(top,rgba(146,161,191,1) 0%,rgba(121,138,173,1) 25%,rgba(98,118,160,1) 50%,rgba(85,106,151,1) 53%,rgba(86,108,152,1) 75%,rgba(84,105,147,1) 95%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,rgba(146,161,191,1)),color-stop(25%,rgba(121,138,173,1)),color-stop(50%,rgba(98,118,160,1)),color-stop(53%,rgba(85,106,151,1)),color-stop(75%,rgba(86,108,152,1)),color-stop(95%,rgba(84,105,147,1)));background:-webkit-linear-gradient(top,rgba(146,161,191,1) 0%,rgba(121,138,173,1) 25%,rgba(98,118,160,1) 50%,rgba(85,106,151,1) 53%,rgba(86,108,152,1) 75%,rgba(84,105,147,1) 95%);background:-o-linear-gradient(top,rgba(146,161,191,1) 0%,rgba(121,138,173,1) 25%,rgba(98,118,160,1) 50%,rgba(85,106,151,1) 53%,rgba(86,108,152,1) 75%,rgba(84,105,147,1) 95%);background:-ms-linear-gradient(top,rgba(146,161,191,1) 0%,rgba(121,138,173,1) 25%,rgba(98,118,160,1) 50%,rgba(85,106,151,1) 53%,rgba(86,108,152,1) 75%,rgba(84,105,147,1) 95%);background:linear-gradient(top,rgba(146,161,191,1) 0%,rgba(121,138,173,1) 25%,rgba(98,118,160,1) 50%,rgba(85,106,151,1) 53%,rgba(86,108,152,1) 75%,rgba(84,105,147,1) 95%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#92a1bf',endColorstr='#546993',GradientType=0 )}.TW3ToolButton:active:enabled{background:rgb(84,105,147);background:-moz-linear-gradient(top,rgba(84,105,147,1) 5%,rgba(86,108,152,1) 25%,rgba(85,106,151,1) 47%,rgba(98,118,160,1) 50%,rgba(121,138,173,1) 75%,rgba(146,161,191,1) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(5%,rgba(84,105,147,1)),color-stop(25%,rgba(86,108,152,1)),color-stop(47%,rgba(85,106,151,1)),color-stop(50%,rgba(98,118,160,1)),color-stop(75%,rgba(121,138,173,1)),color-stop(100%,rgba(146,161,191,1)));background:-webkit-linear-gradient(top,rgba(84,105,147,1) 5%,rgba(86,108,152,1) 25%,rgba(85,106,151,1) 47%,rgba(98,118,160,1) 50%,rgba(121,138,173,1) 75%,rgba(146,161,191,1) 100%);background:-o-linear-gradient(top,rgba(84,105,147,1) 5%,rgba(86,108,152,1) 25%,rgba(85,106,151,1) 47%,rgba(98,118,160,1) 50%,rgba(121,138,173,1) 75%,rgba(146,161,191,1) 100%);background:-ms-linear-gradient(top,rgba(84,105,147,1) 5%,rgba(86,108,152,1) 25%,rgba(85,106,151,1) 47%,rgba(98,118,160,1) 50%,rgba(121,138,173,1) 75%,rgba(146,161,191,1) 100%);background:linear-gradient(top,rgba(84,105,147,1) 5%,rgba(86,108,152,1) 25%,rgba(85,106,151,1) 47%,rgba(98,118,160,1) 50%,rgba(121,138,173,1) 75%,rgba(146,161,191,1) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#546993',endColorstr='#92a1bf',GradientType=0 )}.TW3ToolButton:disabled{Opacity:.5;cursor:wait}.TW3Panel{cursor:inherited;border:2px solid #7c7a77;resize:none;font-size:12px;border-radius:6px;background-color:#FFF}.TW3CustomControl{cursor:default;background-color:#CECECE}.TW3AlertButton{font-family:"Helvetica Neue",Helvetica,sans-serif;font-size:18px;font-weight:bold;text-align:center;text-decoration:none;color:#fff;border:1px solid rgba(19,30,58,.9);background-color:#5f6981;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#b0b5c0),color-stop(50%,#6a748b),color-stop(51%,#505a75),color-stop(100%,#5f6981));-webkit-border-radius:6px;-moz-border-radius:6px;-ms-border-radius:6px;-o-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.8);-moz-box-shadow:0 1px 0 rgba(0,0,0,.8);-ms-box-shadow:0 1px 0 rgba(0,0,0,.8);-o-box-shadow:0 1px 0 rgba(0,0,0,.8);box-shadow:0 1px 0 rgba(0,0,0,.8);-webkit-text-shadow:0 -1px 0 rgba(0,0,0,.8);-moz-text-shadow:0 -1px 0 rgba(0,0,0,.8);-ms-text-shadow:0 -1px 0 rgba(0,0,0,.8);-o-text-shadow:0 -1px 0 rgba(0,0,0,.8);text-shadow:0 -1px 0 rgba(0,0,0,.8)}.TW3AlertButton:active{background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#5f6981),color-stop(50%,#505a75),color-stop(51%,#6a748b),color-stop(100%,#b0b5c0))}.TW3AlertDialog{z-index:1000;padding:6px 5px;border:2px solid rgba(178,183,194,.8);border-top-color:rgba(226,227,228,.8);background:rgba(11,27,68,.8) url() no-repeat 50% 0;box-shadow:0 8px 19px rgba(0,0,0,.9);color:#fff;font-family:Helvetica,Arial,sans-serif;text-shadow:0 -1px 0 rgba(0,0,0,.8);text-align:center;-webkit-border-radius:15px;-webkit-box-shadow:0 8px 19px rgba(0,0,0,.9);-webkit-text-shadow:0 -1px 0 rgba(0,0,0,.8)}.TW3ToolbarButton{margin:0;padding:0;border:0;border-right-style:solid;border-right-width:2px;border-right-color:#FFF;font-family:"Helvetica Neue",Helvetica,sans-serif;font-size:12px;text-align:center;color:#FFF;background-color:rgba(255,255,255,.20);text-shadow:0 -1px -1px rgba(0,0,0,.30);-webkit-tap-highlight-color:transparent}.TW3ToolbarButton:active{//background-color:rgba(255,255,255,.4);background-color:rgba(0,0,0,.20)}.TW3ToolbarButton:disabled{background-color:transparent}.ButtonDown{border:2px inset}.TW3Toolbar{cursor:default;background-image:-webkit-gradient(linear,left top,left bottom,from(#b2bbca),color-stop(.25,#a7b0c3),color-stop(.5,#909cb3),color-stop(.5,#8593ac),color-stop(.75,#7c8ba5),to(#73839f));border-top:1px solid #dde5ef;border-bottom:1px solid #2d3642;-webkit-box-shadow:rgba(33,33,33,.2) 0 1px 1px}.TW3Memo,.TW3EditBox,.TW3ComboBox{border:1px solid #acacac;border-radius:5px;resize:none;-webkit-user-select:auto}.TW3HeaderControl{cursor:default;border-bottom:1px solid #2d3642;border-top:1px solid #cdd5df;box-shadow:0 1px 1px rgba(33,33,33,.2);background:rgb(178,187,202);background:-moz-linear-gradient(top,rgba(178,187,202,1) 1%,rgba(167,176,195,1) 25%,rgba(144,156,179,1) 47%,rgba(133,147,172,1) 50%,rgba(124,139,165,1) 75%,rgba(115,131,159,1) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(1%,rgba(178,187,202,1)),color-stop(25%,rgba(167,176,195,1)),color-stop(47%,rgba(144,156,179,1)),color-stop(50%,rgba(133,147,172,1)),color-stop(75%,rgba(124,139,165,1)),color-stop(100%,rgba(115,131,159,1)));background:-webkit-linear-gradient(top,rgba(178,187,202,1) 1%,rgba(167,176,195,1) 25%,rgba(144,156,179,1) 47%,rgba(133,147,172,1) 50%,rgba(124,139,165,1) 75%,rgba(115,131,159,1) 100%);background:-o-linear-gradient(top,rgba(178,187,202,1) 1%,rgba(167,176,195,1) 25%,rgba(144,156,179,1) 47%,rgba(133,147,172,1) 50%,rgba(124,139,165,1) 75%,rgba(115,131,159,1) 100%);background:-ms-linear-gradient(top,rgba(178,187,202,1) 1%,rgba(167,176,195,1) 25%,rgba(144,156,179,1) 47%,rgba(133,147,172,1) 50%,rgba(124,139,165,1) 75%,rgba(115,131,159,1) 100%);background:linear-gradient(top,rgba(178,187,202,1) 1%,rgba(167,176,195,1) 25%,rgba(144,156,179,1) 47%,rgba(133,147,172,1) 50%,rgba(124,139,165,1) 75%,rgba(115,131,159,1) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#b2bbca',endColorstr='#73839f',GradientType=0 )}.TW3HeaderControl:disabled{cursor:wait;opacity:.5}.TW3CustomForm,.TW3Form{-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);-webkit-user-select:none;background-color:#D5DCE1;background-size:5px 100%;background-image:-webkit-gradient(linear,left top,right top,from(#c5ccd4),color-stop(.75,#c5ccd4),color-stop(.75,transparent),to(transparent));background-image:-moz-linear-gradient(left,#c5ccd4 0%,#c5ccd4 75%,transparent 75%,transparent 100%)}.TW3Label,TW3LabelText{opacity:1.0;cursor:default;font-family:"Helvetica Neue",Helvetica,sans-serif}.TW3Label:disabled,TW3LabelText:disabled{text-shadow:0 1px 0 #fff;opacity:.5}.TW3Button{border:solid 2px rgba(32,32,33,.4);border-radius:8px;-webkit-border-radius:8px;-moz-border-radius:8px;-ms-border-radius:8px;-o-border-radius:8px;background:rgb(226,226,226);background:-moz-linear-gradient(top,rgba(226,226,226,1) 0%,rgba(219,219,219,1) 50%,rgba(209,209,209,1) 52%,rgba(254,254,254,1) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,rgba(226,226,226,1)),color-stop(50%,rgba(219,219,219,1)),color-stop(52%,rgba(209,209,209,1)),color-stop(100%,rgba(254,254,254,1)));background:-webkit-linear-gradient(top,rgba(226,226,226,1) 0%,rgba(219,219,219,1) 50%,rgba(209,209,209,1) 52%,rgba(254,254,254,1) 100%);background:-o-linear-gradient(top,rgba(226,226,226,1) 0%,rgba(219,219,219,1) 50%,rgba(209,209,209,1) 52%,rgba(254,254,254,1) 100%);background:-ms-linear-gradient(top,rgba(226,226,226,1) 0%,rgba(219,219,219,1) 50%,rgba(209,209,209,1) 52%,rgba(254,254,254,1) 100%);background:linear-gradient(top,rgba(226,226,226,1) 0%,rgba(219,219,219,1) 50%,rgba(209,209,209,1) 52%,rgba(254,254,254,1) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2e2e2',endColorstr='#fefefe',GradientType=0 );font-family:"Helvetica Neue",Verdana,sans-serif;font-size:18px;font-weight:thin;text-shadow:1px 1px -1px #cecece;color:#000;-webkit-text-size-adjust:auto;-moz-text-size-adjust:auto;-ms-text-size-adjust:auto;-o-text-size-adjust:auto;-webkit-tap-highlight-color:transparent}.TW3Button:active:enabled{color:#FFF;background:rgb(207,231,250);background:-moz-linear-gradient(top,rgba(207,231,250,1) 0%,rgba(99,147,193,1) 52%,rgba(78,136,191,1) 66%,rgba(192,224,249,1) 96%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,rgba(207,231,250,1)),color-stop(52%,rgba(99,147,193,1)),color-stop(66%,rgba(78,136,191,1)),color-stop(96%,rgba(192,224,249,1)));background:-webkit-linear-gradient(top,rgba(207,231,250,1) 0%,rgba(99,147,193,1) 52%,rgba(78,136,191,1) 66%,rgba(192,224,249,1) 96%);background:-o-linear-gradient(top,rgba(207,231,250,1) 0%,rgba(99,147,193,1) 52%,rgba(78,136,191,1) 66%,rgba(192,224,249,1) 96%);background:-ms-linear-gradient(top,rgba(207,231,250,1) 0%,rgba(99,147,193,1) 52%,rgba(78,136,191,1) 66%,rgba(192,224,249,1) 96%);background:linear-gradient(top,rgba(207,231,250,1) 0%,rgba(99,147,193,1) 52%,rgba(78,136,191,1) 66%,rgba(192,224,249,1) 96%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#cfe7fa',endColorstr='#c0e0f9',GradientType=0 );text-shadow:none;-webkit-tap-highlight-color:transparent}.TW3Button:disabled{Opacity:.50}ul{cursor:default;list-style:none;-moz-list-style:none;margin:0;padding:0}ul li{-webkit-user-select:none;-webkit-tap-highlight-color:transparent;background-color:#FFF;border:1px solid #999;color:#222;cursor:hand;font-family:"Helvetica Neue",Helvetica,sans-serif;font-size:17px;font-weight:bold;margin-bottom:-1px;padding:12px 12px;text-decoration:none}ul li:first-child{border-top-left-radius:8px;border-top-right-radius:8px}ul li:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ul li:active{color:#FFF;background-image:url();background-size:auto 100%;background-repeat:repeat-x}.TW3ToggleSwitch{background-color:#FFF;border:1px solid #AAA;border-radius:6px;color:#FFF;font-weight:700;overflow:hidden;box-shadow:0 1px 0 #FFF;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.TW3ToggleOnLabel{border-radius:6px;text-align:center;background:#007FEA;text-shadow:0 -1px 0 #093B5C;box-shadow:0 4px 5px -2px rgba(0,0,0,.3) inset}.TW3ToggleOffLabel{border-radius:6px;text-align:center;box-shadow:0 4px 5px -2px rgba(0,0,0,.3) inset}.TW3ToggleKnob{cursor:pointer;background-color:#FFF;border:1px solid #AAA;border-radius:4px;color:#FFF;font-weight:700;overflow:hidden;box-shadow:0 4px 0 -2px #F1F1F1 inset,0 2em 2em -2em #AAA inset,0 0 2px rgba(0,0,0,.5)}.TW3ToggleKnob:hover{background:#E5E5E5}</style>
	

	<script type="text/javascript">
	/* This prevents the window being moved by touches,
		to give the impression of a native app */
	document.ontouchmove = function(e) { e.preventDefault(); }

	/* Note: If you build with the CSS as an external file,
	the app may execute before the CSS has been properly loaded.
	You may want to use a different bootstrap mechanism. jQuery
	provides a good preloading mechanism for instance. */

	function bootstrap() { 
function VarClear(v){var u;v.v=u};function Trunc(v){return(v>=0)?Math.floor(v):Math.ceil(v)};function Trim$_String_Integer_Integer_(s,a,b){if(a<0)a=0;if(b<0)b=0;return s.substr(a,s.length-a-b)};function Trim$_String_(s){return s.replace(/^\s\s*/,"").replace(/\s\s*$/,"")};var TObject={$ClassName:"TObject",$Parent:null,ClassName:function(s){return s.$ClassName},ClassType:function(s){return s},ClassParent:function(s){return s.$Parent},$Init:function(){},Create:function(s){return s},Destroy:function(s){for(var prop in s)if(s.hasOwnProperty(prop))delete s.prop},Destroy$:function(s){return s.ClassType.Destroy(s)},Free:function(s){if(s!==null)s.ClassType.Destroy(s)}};function StrToIntDef(v,d){var r=parseInt(v,10);return isNaN(r)?d:r};function SetLength(s,n){if(s.v.length>n)s.v=s.v.substring(0,n);else while(s.v.length<n)s.v+=" "};function SameText(a,b){return a.toUpperCase()==b.toUpperCase()};function Now(){var d=new Date();return d.getTime()/8.64e7+25569};function IntToHex2(v){var r=v.toString(16);return(r.length==1)?"0"+r:r};function IntToHex(v,d){var r=v.toString(16);return"00000000".substr(0,d-r.length)+r};function Frac(v){return v-((v>0)?Math.floor(v):Math.ceil(v))};var fmtShortDayNames=["sun","mon","tue","wed","thu","fri","sat"];var fmtLongDayNames=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];var fmtShortMonthNames=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"];var fmtLongMonthNames=["january","february","march","april","may","june","july","august","september","october","november","december"];function FormatDateTime(fmt,v){function pad2(v){return(v<10)?"0"+v:v};function pad3(v){return(v<100)?"0"+pad2(v):v};var res="";var dt=new Date((v-25569)*864e5);if(isNaN(dt.getTime()))return"#VAL!";var i=0;var c,tok;while(i<fmt.length){c=fmt.charAt(i);tok="";while((fmt.charAt(i)==c)&&(i<fmt.length)){tok+=c;i++}
switch(tok){case"d":res+=(dt.getUTCDate());break;case"dd":res+=pad2(dt.getUTCDate());break;case"ddd":res+=fmtShortDayNames[dt.getUTCDay()];break;case"dddd":res+=fmtLongDayNames[dt.getUTCDay()];break;case"m":res+=dt.getUTCMonth()+1;break;case"mm":res+=pad2(dt.getUTCMonth()+1);break;case"mmm":res+=fmtShortMonthNames[dt.getUTCMonth()];break;case"mmmm":res+=fmtLongMonthNames[dt.getUTCMonth()];break;case"yy":res+=pad2(dt.getUTCFullYear()%100);break;case"yyyy":res+=dt.getUTCFullYear();break;case"h":res+=dt.getUTCHours();break;case"hh":res+=pad2(dt.getUTCHours());break;case"n":res+=dt.getUTCMinutes();break;case"nn":res+=pad2(dt.getUTCMinutes());break;case"s":res+=dt.getUTCSeconds();break;case"ss":res+=pad2(dt.getUTCSeconds());break;case"z":res+=dt.getUTCMilliseconds();break;case"zzz":res+=pad3(dt.getUTCMilliseconds());break;default:res+=tok}}
return res};var sprintf=(function(){function get_type(variable){return Object.prototype.toString.call(variable).slice(8,-1).toLowerCase()}
function str_repeat(input,multiplier){for(var output=[];multiplier>0;output[--multiplier]=input){}
return output.join('')}
var str_format=function(){if(!str_format.cache.hasOwnProperty(arguments[0])){str_format.cache[arguments[0]]=str_format.parse(arguments[0])}
return str_format.format.call(null,str_format.cache[arguments[0]],arguments)};str_format.format=function(parse_tree,argv){var cursor=1,tree_length=parse_tree.length,node_type='',arg,output=[],i,k,match,pad,pad_character,pad_length;for(i=0;i<tree_length;i++){node_type=get_type(parse_tree[i]);if(node_type==='string'){output.push(parse_tree[i])}
else if(node_type==='array'){match=parse_tree[i];if(match[2]){arg=argv[cursor];for(k=0;k<match[2].length;k++){if(!arg.hasOwnProperty(match[2][k])){throw(sprintf('[sprintf] property "%s" does not exist',match[2][k]))}
arg=arg[match[2][k]]}}
else if(match[1]){arg=argv[match[1]]}
else{arg=argv[cursor++]}
if(/[^s]/.test(match[8])&&(get_type(arg)!='number')){throw(sprintf('[sprintf] expecting number but found %s',get_type(arg)))}
switch(match[8]){case'b':arg=arg.toString(2);break;case'c':arg=String.fromCharCode(arg);break;case'd':arg=String(parseInt(arg,10));if(match[7]){arg=str_repeat('0',match[7]-arg.length)+arg}break;case'e':arg=match[7]?arg.toExponential(match[7]):arg.toExponential();break;case'f':arg=match[7]?parseFloat(arg).toFixed(match[7]):parseFloat(arg);break;case'o':arg=arg.toString(8);break;case's':arg=((arg=String(arg))&&match[7]?arg.substring(0,match[7]):arg);break;case'u':arg=Math.abs(arg);break;case'x':arg=arg.toString(16);break;case'X':arg=arg.toString(16).toUpperCase();break}
arg=(/[def]/.test(match[8])&&match[3]&&arg>=0?'+'+arg:arg);pad_character=match[4]?match[4]=='0'?'0':match[4].charAt(1):' ';pad_length=match[6]-String(arg).length;pad=match[6]?str_repeat(pad_character,pad_length):'';output.push(match[5]?arg+pad:pad+arg)}}
return output.join('')};str_format.cache={};str_format.parse=function(fmt){var _fmt=fmt,match=[],parse_tree=[],arg_names=0;while(_fmt){if((match=/^[^\x25]+/.exec(_fmt))!==null){parse_tree.push(match[0])}
else if((match=/^\x25{2}/.exec(_fmt))!==null){parse_tree.push('%')}
else if((match=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(_fmt))!==null){if(match[2]){arg_names|=1;var field_list=[],replacement_field=match[2],field_match=[];if((field_match=/^([a-z_][a-z_\d]*)/i.exec(replacement_field))!==null){field_list.push(field_match[1]);while((replacement_field=replacement_field.substring(field_match[0].length))!==''){if((field_match=/^\.([a-z_][a-z_\d]*)/i.exec(replacement_field))!==null){field_list.push(field_match[1])}
else if((field_match=/^\[(\d+)\]/.exec(replacement_field))!==null){field_list.push(field_match[1])}
else{throw('[sprintf] huh?')}}}
else{throw('[sprintf] huh?')}
match[2]=field_list}
else{arg_names|=2}
if(arg_names===3){throw('[sprintf] mixing positional and named placeholders is not (yet) supported')}
parse_tree.push(match)}
else{throw('[sprintf] huh?')}
_fmt=_fmt.substring(match[0].length)}
return parse_tree};return str_format})();function Format(f,a){a.unshift(f);return sprintf.apply(null,a)};var Exception={$ClassName:"Exception",$Parent:TObject,$Init:function(){FMessage=""},Create:function(s,Msg){s.FMessage=Msg;return s}};function EncodeTime(h,m,s,z){return(h+(m+(s+z*0.001)/60)/60)/24};function EncodeDate(y,m,d){return Math.round(Date.UTC(y,m-1,d)/864e5+25569)};function Delete(s,i,n){var v=s.v;if((i<=0)||(i>v.length)||(n<=0))return;s.v=v.substr(0,i-1)+v.substr(i+n-1)};function ClampInt(v,mi,ma){return v<mi?mi:v>ma?ma:v};function $W(e){return e.ClassType?e:Exception.Create($New(Exception),e.constructor.name+", "+e.message)};function $StrSet(s,i,v,z){if(i<1)throw Exception.Create($New(Exception),"Lower bound exceeded! Index "+i.toString()+z);if(i>s.length)throw Exception.Create($New(Exception),"Upper bound exceeded! Index "+i.toString()+z);return s.substring(0,i-1)+v+s.substring(i)};function $SetInc(s,v,m,n){v-=m;if((v>=0)&&(v<n))s[v>>5]|=1<<(v&31)};function $SetIn(s,v,m,n){v-=m;return((v<0)&&(v>=n))?false:(s[v>>5]&(1<<(v&31)))!=0};function $NewDyn(c,z){if(c==null)throw Exception.Create($New(Exception),"ClassType is nil"+z);var i={ClassType:c};c.$Init(i);return i};function $New(c){var i={ClassType:c};c.$Init(i);return i};function $Is(o,c){if(o===null)return false;return $Inh(o.ClassType,c)};function $Inh(s,c){if(s===null)return false;while((s)&&(s!==c))s=s.$Parent;return(s)?true:false};function $Event1(i,f){var li=i,lf=f;return function(a){return lf.call(li,li,a)}};function $Event0(i,f){var li=i,lf=f;return function(){return lf.call(li,li)}};function $Div(a,b){var r=a/b;return(r>=0)?Math.floor(r):Math.ceil(r)};function $AsClass(s,c){if((s===null)||$Inh(s,c))return s;throw Exception.Create($New(Exception),"Cannot cast class \""+s.$ClassName+"\" to class \""+c.$ClassName+"\"")};function $As(o,c){if((o===null)||$Is(o,c))return o;throw Exception.Create($New(Exception),"Cannot cast instance of type \""+o.ClassType.$ClassName+"\" to class \""+c.$ClassName+"\"")};function $ArraySwap(a,i1,i2){var t=a[i1];a[i1]=a[i2];a[i2]=t};var N={$ClassName:"TW3CustomApplication",$Parent:TObject,$Init:function($){TObject.$Init($);$.x=$.Qn=$.tn=$.w=$.r=$.v=$.n=$.Q=$.W=$.U=null;$.K=0;$.P=$.B=false;$.G=[]},Rz:function(S){q8.KA(Y7.ob(S.tn),0,0);jf.CB(S.tn,0,0,Ue.tI(S.x),Ue.d5(S.x))},Qj:function(S){},fh:function(S){},qm:function(S){N.Rz(S)},hU:function(S){if(S.n)S.n(S)},YK:function(S){var yY=0;var ah=0;var xE=null;ah=parseInt(window.orientation,10);switch(ah){case 0:yY=0;break;case 90:yY=1;break;case(-90):yY=2;break;case 180:yY=3;break}
try{if(S.tn){xE=S.tn.yL;if(xE)xE(S.tn,yY,ah)}}finally{N.Rz(S)}},Lx:function(S){N.Rz(S)},q:function(S){try{if(S.Q)S.Q(S)}finally{if(!S.B)N.g(S)}},rt:function(S){TObject.Create(S);S.x=qD.Lg$($New(Ue),null);S.tn=qD.Lg$($New(l4),S.x);if(!L)L=S;return S},Destroy:function(S){if(!S.B)N.g(S);TObject.Free(S.tn);TObject.Free(S.x);L=null;TObject.Destroy(S)},C:function(S,yh,tb){var iP=0;if(S.B)return;if(S.P){throw n6.Ud($New(wq),"Method %s in class %s threw exception [%s]",["TW3CustomApplication.GotoFormByRef",TObject.ClassName(S.ClassType),"A form transition is already active error"])}
if(yh===null){throw n6.Ud($New(wq),"Method %s in class %s threw exception [%s]",["TW3CustomApplication.GotoFormByRef",TObject.ClassName(S.ClassType),"Form parameter is NIL error"])}
iP=S.G.indexOf(yh);if(iP<0){throw n6.Ud($New(wq),"Method %s in class %s threw exception [%s]",["TW3CustomApplication.GotoFormByRef",TObject.ClassName(S.ClassType),"Form not registered error"])}
if(yh===S.Qn)return;if(S.Qn===null){S.Qn=yh;l4.Xr(S.tn,yh);jf.za(yh,true);vG.Ei(yh);return}
if(!tb){vG.vH(S.Qn);jf.za(S.Qn,false);jf.za(yh,true);l4.Xr(S.tn,yh);vG.Ei(yh);S.Qn=yh;return}
S.P=true;S.K=tb;Y7.pf(yh);vG.vH(S.Qn);S.U=S.Qn;S.W=yh;jf.za(yh,true);l4.Xr(S.tn,yh);if((S.w===null)||(S.r===null)){S.w=b5.Uh$($New(pN));b5.AZ(S.w,0.3);S.r=b5.Uh$($New(pN));b5.AZ(S.r,0.3)}
switch(tb){case 1:S.w.M6="MOVE-LEFT";S.r.M6="MOVE-OUT-LEFT";break;case 2:S.w.M6="MOVE-RIGHT";S.r.M6="MOVE-OUT-RIGHT";break}
b5.jd(S.w,yh,null,$Event1(S,N.Z));b5.jd(S.r,S.Qn,null,$Event1(S,N.l))},Z:function(S,c1){var By=null;By=$As(c1,pN);switch(S.K){case 1:jf.AC(S.W,0,0);S.Qn=S.W;vG.Ei(S.Qn);S.P=false;break;case 2:jf.AC(S.W,0,0);S.Qn=S.W;vG.Ei(S.Qn);jf.za(S.U,false);l4.Xr(S.tn,S.U);S.P=false;break}
TObject.Free(By);By=null},l:function(S,MCO){var Rp=null;Rp=$As(MCO,pN);jf.za(S.U,false);TObject.Free(Rp)},e:function(S){xN(document.body,"onunload",$Event0(S,N.q));xN(document.body,"onbeforeunload",$Event0(S,N.hU));xN(window,"onresize",$Event0(S,N.Lx));xN(window,"onorientationchange",$Event0(S,N.YK))},H:function(S,iL,Th){if(!S.B){if(iL){if(S.G.indexOf(iL)<0){try{S.G.push(iL)}catch($e){var Bz=$W($e);throw n6.Ud($New(n6),"Method %s in class %s threw exception [%s]",["TW3CustomApplication.RegisterFormInstance",TObject.ClassName(S.ClassType),Bz.FMessage])}
DE(function(){jf.i3(iL)});if(Th){S.v=iL}else jf.za(iL,false)}else{throw n6.Ud($New(wq),"Method %s in class %s threw exception [%s]",["TW3CustomApplication.RegisterFormInstance",TObject.ClassName(S.ClassType),"Form already registered"])}}else{throw n6.Ud($New(wq),"Method %s in class %s threw exception [%s]",["TW3CustomApplication.RegisterFormInstance",TObject.ClassName(S.ClassType),"Form parameter is NIL error"])}}},J:function(S){var Kw=null;N.e(S);N.qm(S);nr.Oq(of(),S.tn.kI);if(S.v){Kw=S.v;S.v=null;N.C(S,Kw,0)}
N.fh(S)},g:function(S){var uM=0;if(S.B)return;S.B=true;N.Qj(S);try{var $t1;for(uM=0,$t1=S.G.length;uM<$t1;uM++){TObject.Free(S.G[uM]);S.G[uM]=null}
S.G.length=0}finally{TObject.Free(S)}},Y:function(S,xP7){var KV=0;if(!S.B){if(xP7){KV=S.G.indexOf(xP7);if(KV>=0){if(S.v!==xP7){if(S.Qn===xP7)N.C(S,S.v,0);S.G.splice(KV,1);try{TObject.Free(xP7)}catch($e){var vI=$W($e);throw n6.Ud($New(wq),"Method %s in class %s threw exception [%s]",["TW3CustomApplication.UnRegisterFormInstance",TObject.ClassName(S.ClassType),vI.FMessage])}}else{throw n6.Ud($New(wq),"Method %s in class %s threw exception [%s]",["TW3CustomApplication.UnRegisterFormInstance",TObject.ClassName(S.ClassType),"Main form cannot be removed error"])}}else{throw n6.Ud($New(wq),"Method %s in class %s threw exception [%s]",["TW3CustomApplication.UnRegisterFormInstance",TObject.ClassName(S.ClassType),"Form is not registered"])}}else{throw n6.Ud($New(wq),"Method %s in class %s threw exception [%s]",["TW3CustomApplication.UnRegisterFormInstance",TObject.ClassName(S.ClassType),"Form parameter is NIL error"])}}},Destroy$:function($){return $.ClassType.Destroy($)}};var Ww={$ClassName:"TApplication",$Parent:N,$Init:function($){N.$Init($)},Destroy:N.Destroy};var ax=["dvaSizeToView","dvaVStack","dvaHStack"];var Kc={$ClassName:"TW3TagObj",$Parent:TObject,$Init:function($){TObject.$Init($);$.mE=undefined;$.U8=false;$.qJ=undefined;$.Sm="";$.dA=0},MI:function(S){},hs:function(S){++S.dA},Bn:function(S){TObject.Create(S);S.U8=false;try{S.Sm=Kc.Wa$(S);S.mE=Kc.dS$(S)}catch($e){var v2=$W($e);At.el("TW3TagObj.Create",S,v2.FMessage)}
if(HG.UN(S.mE)!==HG.UN(document.body)){if(S.Sm.length>0)uz(S.mE,"id",S.Sm)}
Kc.n8$(S);Kc.hs(S);try{Kc.KO$(S)}finally{Kc.P5(S)}
S.U8=true;return S},Destroy:function(S){if(S.mE){try{Kc.o1(S);Kc.aS(S)}finally{Kc.xQ$(S);S.Sm="";S.mE=null}}
TObject.Destroy(S)},P5:function(S){if(S.dA>0){--S.dA;if(!S.dA)Kc.MI$(S)}},xQ:function(S){},WY:function(S){var R="";if(S.mE)R=""+S.mE.innerHTML;return R},kk:function(S){return S.dA>0},KO:function(S){},vC:function(S,To){if(To){if(S.mE){try{if(S.qJ)Kc.aS(S);r5(S.mE,To);S.qJ=To}catch($e){var Kv=$W($e);At.el("TW3TagObj.InsertInto",S,Kv.FMessage)}}else At.el("TW3TagObj.InsertInto",S,"Internal tag-object is null error")}else At.el("TW3TagObj.InsertInto",S,"owner is NIL error")},Wa:function(S){return DZ()},dS:function(S){return Hk("div")},aS:function(S){if(S.qJ){if(S.mE){try{pJ(S.mE,S.qJ)}catch($e){var Ir=$W($e);At.el("TW3TagObj.RemoveFrom",S,Ir.FMessage)}
S.qJ=undefined}else At.el("TW3TagObj.RemoveFrom",S,"Internal tag-object is null error")}},xa:function(S,Zk){if(S.mE){S.mE.innerHTML=Zk}},n8:function(S){if(S.mE){S.mE.style["visibility"]="hidden";S.mE.style["display"]="none";S.mE.style["position"]="absolute";S.mE.style["overflow"]="hidden";S.mE.style["left"]="0px";S.mE.style["top"]="0px"}},o1:function(S){if(S.mE){S.mE.onresize=null;S.mE.onselectstart=null;S.mE.onfocus=null;S.mE.onblur=null;S.mE.onchange=null;S.mE.onmousedown=null;S.mE.onmouseup=null;S.mE.onmousemove=null;S.mE.onmouseover=null;S.mE.onmouseout=null;S.mE.onclick=null;S.mE.ondblclick=null;S.mE.onkeydown=null;S.mE.onkeyup=null;S.mE.onkeypress=null;S.mE.webkitAnimationStart=null;S.mE.webkitAnimationEnd=null}},Destroy$:function($){return $.ClassType.Destroy($)},MI$:function($){return $.ClassType.MI($)},xQ$:function($){return $.ClassType.xQ($)},KO$:function($){return $.ClassType.KO($)},Wa$:function($){return $.ClassType.Wa($)},dS$:function($){return $.ClassType.dS($)},n8$:function($){return $.ClassType.n8($)}};var qD={$ClassName:"TW3Component",$Parent:Kc,$Init:function($){Kc.$Init($);$.EK=[];$.e7="";$.Jq=null},LM:function(S){if(event){event.preventDefault()}},vc:function(S,x9){},A7:function(S,zP){var R=null;var yT="";var OS=0;yT=(Trim$_String_(zP)).toLowerCase();var $t2;for(OS=0,$t2=qD.fY(S);OS<$t2;OS++){R=qD.Wg(S,OS);if((R.e7).toLowerCase()==yT)return R}
R=null;return R},fG:function(S,uj){},Lg:function(S,gs){S.Jq=gs;Kc.Bn(S);if(S.Jq!==null)qD.Xi(S.Jq,S);return S},xQ:function(S){qD.IO(S);if(S.Jq!==null)qD.OH(S.Jq,S);S.EK.length=0;Kc.xQ(S)},IO:function(S){var Ru=0;try{while(S.EK.length>0){Ru=S.EK.length;TObject.Free(S.EK[0]);if(Ru==S.EK.length){S.EK.shift()}}}finally{S.EK.length=0}},fY:function(S){return S.EK.length},Wg:function(S,sL){return S.EK[sL]},KO:function(S){Kc.KO(S)},Xi:function(S,rB){if((rB!==null)&&(S.EK.indexOf(rB)<0)){S.EK.push(rB);Kc.vC(rB,S.mE);qD.vc(S,rB)}},TC:function(S,Ug){S.e7=Ug},OH:function(S,lM){var BG=0;if(lM!==null){BG=S.EK.indexOf(lM);if(BG>=0){S.EK.splice(BG,1);qD.fG(S,lM)}
Kc.aS(lM)}},Destroy:Kc.Destroy,MI:Kc.MI,xQ$:function($){return $.ClassType.xQ($)},KO$:function($){return $.ClassType.KO($)},Wa:Kc.Wa,dS:Kc.dS,n8:Kc.n8,Lg$:function($){return $.ClassType.Lg.apply($.ClassType,arguments)}};var jf={$ClassName:"TW3MovableControl",$Parent:qD,$Init:function($){qD.$Init($);$.QA=$.Kt=$.Jl=$.wB=$.Xp=false;$.br=0;$.Cz=$.xT=$.pt=null;$.Z6=0},i3:function(S){var Vg=0;var Wf=0;var jP=0;var qV=null;var N4=null;if(S.mE){if(!S.QA){S.QA=true;Wf=F2.bb(jf.Bo(S));jP=F2.KY(jf.Bo(S));var $t3;for(Vg=0,$t3=qD.fY(S);Vg<$t3;Vg++){qV=qD.Wg(S,Vg);if($Is(qV,jf)){N4=$As(qV,jf);if(jf.DT$(N4.ClassType)){if((Wf>0)||(jP>0))jf.Mr(N4,jf.ZJ(N4)-Wf,jf.gl(N4)-jP);setTimeout($Event0(N4,jf.i3),1)}}}}}},MI:function(S){S.wB=false;S.Xp=false},ho:function(S){var R=0;if(S.mE){if(TD(S.mE.clientHeight)){R=HG.hE(S.mE.clientHeight);if(isNaN(R)||(R==0))R=jf.ZJ(S)}else R=jf.ZJ(S)}
return R},zw:function(S){var R=0;if(S.mE){if(TD(S.mE.clientWidth)){R=HG.hE(S.mE.clientWidth);if(isNaN(R)||(R==0))R=jf.ZJ(S)}else R=jf.ZJ(S)}
return R},Bg:function(S){return"inline-block"},xQ:function(S){if(S.Cz)TObject.Free(S.Cz);if(S.xT)TObject.Free(S.xT);if(S.pt)TObject.Free(S.pt);qD.xQ(S)},Bo:function(S){var R=null;if(S.xT===null)S.xT=yo.kE$($New(F2),S);R=S.xT;return R},AG:function(S){var R={x4:0,ZU:0,J7:0,vr:0};R.ZU=jf.Xa(S);R.vr=jf.Zy(S);R.J7=R.ZU+jf.ZJ(S);R.x4=R.vr+jf.gl(S);return R},gl:function(S){var R=0;if(S.mE)R=parseInt(S.mE.offsetHeight,10);return R},Xa:function(S){return jk(S.mE,"left")},Zy:function(S){return jk(S.mE,"top")},QP:function(S){var R=false;var Po="";Po=Bu(S.mE,"visibility");R=(Po).toLowerCase()=="visible";return R},jD:function(S){return S.wB},Do:function(S){return S.Xp},ZJ:function(S){var R=0;if(S.mE)R=parseInt(S.mE.offsetWidth,10);return R},KO:function(S){qD.KO(S);S.br=255;S.Z6=536870911;S.Kt=false},AC:function(S,Tl,Lt){Kc.hs(S);S.mE.style["left"]=sX.Wl(Tl);S.mE.style["top"]=sX.Wl(Lt);jf.Op(S);Kc.P5(S)},OM:function(S){},Jn:function(S){var R={x4:0,ZU:0,J7:0,vr:0};var ok=undefined;if(S.mE){ok=S.mE;while(1){R.ZU+=parseInt(ok.offsetLeft,10);R.vr+=parseInt(ok.offsetTop,10);ok=ok.offsetParent;if(ok){R.ZU-=parseInt(ok.scrollLeft,10);R.vr-=parseInt(ok.scrollTop,10)}else break}
R.J7=parseInt((R.ZU+S.mE.offsetWidth),10);R.x4=parseInt((R.vr+S.mE.offsetHeight),10)}
return R},Es:function(S,nc){S.br=ClampInt(nc,0,255);if(S.Jl){S.mE.style["opacity"]=S.br/100}},CB:function(S,sB,Dd,mc,Fs){var KG=false;var dFh=false;mc=Math.max(0,mc);Fs=Math.max(0,Fs);dFh=(sB!=jf.Xa(S))||(Dd!=jf.Zy(S));KG=(mc!=jf.ZJ(S))||(Fs!=jf.gl(S));Kc.hs(S);S.mE.style["left"]=sX.Wl(sB);S.mE.style["top"]=sX.Wl(Dd);S.mE.style["width"]=sX.Wl(mc);S.mE.style["height"]=sX.Wl(Fs);if(dFh)jf.Op(S);if(KG)jf.BS(S);Kc.P5(S)},Rh:function(S,aJ){var MO="";if(aJ!=S.Z6){S.Z6=aJ;MO=w1(S.Z6,(S.Kt)?0:255);S.mE.style["backgroundColor"]=MO}},MS:function(S,sz){sz=Math.max(sz,0);if(sz!=jf.gl(S)){Kc.hs(S);S.mE.style["height"]=sX.Wl(sz);jf.BS(S);Kc.P5(S)}},ze:function(S,j7){Kc.hs(S);S.mE.style["left"]=sX.Wl(j7);jf.Op(S);Kc.P5(S)},Mr:function(S,HY1,ig){HY1=Math.max(HY1,0);ig=Math.max(ig,0);if((HY1!=jf.ZJ(S))||(ig!=jf.gl(S))){Kc.hs(S);S.mE.style["width"]=sX.Wl(HY1);S.mE.style["height"]=sX.Wl(ig);jf.BS(S);Kc.P5(S)}},jI:function(S,CO){Kc.hs(S);S.mE.style["top"]=sX.Wl(CO);jf.Op(S);Kc.P5(S)},RP:function(S,XL){var NB="";if(XL!=S.Kt){Kc.hs(S);S.Kt=XL;NB=w1(S.Z6,(XL)?0:255);S.mE.style["backgroundColor"]=NB;jf.Op(S);Kc.P5(S)}},Iv:function(S,gR){var SDT=0;if(gR==S.Jl)return;S.Jl=gR;if(gR){SDT=S.br/100}else SDT=1;S.mE.style["opacity"]=SDT},za:function(S,L7){Kc.hs(S);if(L7){S.mE.style["display"]=jf.Bg(S.ClassType);S.mE.style["visibility"]="visible";jf.BS(S)}else{S.mE.style["display"]="none";S.mE.style["visibility"]="hidden"}
Kc.P5(S)},Op:function(S){S.wB=true},BS:function(S){S.Xp=true},IK:function(S,pC){pC=Math.max(pC,0);if(pC!=jf.ZJ(S)){Kc.hs(S);S.mE.style["width"]=sX.Wl(pC);jf.BS(S);Kc.P5(S)}},DT:function(S){return true},Destroy:Kc.Destroy,MI$:function($){return $.ClassType.MI($)},xQ$:function($){return $.ClassType.xQ($)},KO$:function($){return $.ClassType.KO($)},Wa:Kc.Wa,dS:Kc.dS,n8:Kc.n8,Lg:qD.Lg,OM$:function($){return $.ClassType.OM($)},MS$:function($){return $.ClassType.MS.apply($.ClassType,arguments)},IK$:function($){return $.ClassType.IK.apply($.ClassType,arguments)},DT$:function($){return $.DT($)}};var Y7={$ClassName:"TW3CustomControl",$Parent:jf,$Init:function($){jf.$Init($);$.V8=0;$.E6=$.gB=$.kn=$.YY=$.qb=$.BA=$.c3=$.nQ=$.CT=$.ZZ=$.sY=$.bC=$.GN=$.NL=$.y7=$.oe=$.A9=$.iT=$.Wn=$.tq=$.jz=$.iM=$.V4=$.Iq=$.Q1=$.Od=$.hF=$.kt=$.HT=$.ZI=null;$.OO=0;$.ij=false},XN:function(S){return tj===S},MI:function(S){if(jf.Do(S)){if(S.U8)jf.OM$(S);if(!jf.jD(S))jf.Op(S)}
if(jf.jD(S))Y7.Be$(S);jf.MI(S)},dG:function(S){if(S.ij)return;S.ij=true;S.mE.addEventListener("touchstart",$Event1(S,Y7.nC));S.mE.addEventListener("touchmove",$Event1(S,Y7.lA));S.mE.addEventListener("touchend",$Event1(S,Y7.mq))},pf:function(S){if(S.mE){S.mE.style.zIndex=(Y7.Bh($As(S.Jq,Y7))+1)}},mF:function(S,T9){if(S.qb)S.qb(S)},Rr:function(S,He){if(S.BA)S.BA(S)},zz:function(S,gu){if(S.c3)S.c3(S)},Oo:function(S,h8){if(S.nQ)S.nQ(S)},tc:function(S,W4){var R=false;var Nj={x4:0,ZU:0,J7:0,vr:0};var f2={Lm:0,W1:0};var dKb={v:false};Nj=jf.Jn(S);f2.Lm=W4.clientX-Nj.ZU;f2.W1=W4.clientY-Nj.vr;dKb.v=false;Y7.EA(S,f2,dKb);R=!dKb.v;return R},Yn:function(S,XM){if(S.ZZ)S.ZZ(S)},v3:function(S){if(S.NL)S.NL(S)},up:function(S,Hd){if(S.y7)S.y7(S,Hd.keyCode)},J2:function(S,b9){if(S.oe)S.oe(S,b9.charCode)},e8:function(S,R6){if(S.A9)S.A9(S,R6.keyCode)},Yq:function(S){if(S.iT)S.iT(S)},nT:function(S,q3){var rC={x4:0,ZU:0,J7:0,vr:0};var hO=null;rC=jf.Jn(S);hO=yd.bS();hO.g8=hO.g8|(1<<q3.button);yd.WW(hO,q3);Y7.dI(S,q3.button,hO,q3.clientX-rC.ZU,q3.clientY-rC.vr)},H2:function(S,BP){var iG={x4:0,ZU:0,J7:0,vr:0};var Ka=null;iG=jf.Jn(S);Ka=yd.bS();yd.WW(Ka,BP);Y7.oL(S,Ka,BP.clientX-iG.ZU,BP.clientY-iG.vr)},NF:function(S,In){var Nm={x4:0,ZU:0,J7:0,vr:0};var Z4=null;Nm=jf.Jn(S);Z4=yd.bS();yd.WW(Z4,In);Y7.cK(S,Z4,In.clientX-Nm.ZU,In.clientY-Nm.vr)},gk:function(S,Q7){var vBJ={x4:0,ZU:0,J7:0,vr:0};var rP=null;vBJ=jf.Jn(S);rP=yd.bS();yd.WW(rP,Q7);Y7.MR(S,rP,Q7.clientX-vBJ.ZU,Q7.clientY-vBJ.vr)},HO:function(S,ON){var sv={x4:0,ZU:0,J7:0,vr:0};var y9=null;sv=jf.Jn(S);y9=yd.bS();y9.g8=y9.g8&(~(1<<ON.button));yd.WW(y9,ON);Y7.bM(S,ON.button,y9,ON.clientX-sv.ZU,ON.clientY-sv.vr)},nX:function(S,Gw){var kW=0;var Xn={};Xn.v=false;var TL={x4:0,ZU:0,J7:0,vr:0};var lL=null;var Q3={Lm:0,W1:0};if(S.Iq){if(Gw.detail){kW=Gw.detail*-40}else kW=Gw.wheelDelta;TL=jf.Jn(S);lL=yd.bS();yd.WW(lL,Gw);Q3.Lm=Gw.clientX-TL.ZU;Q3.W1=Gw.clientY-TL.vr;Y7.RV(S,lL,kW,Q3,Xn);if(Xn.v){Gw.preventDefault();Gw.stopPropagation()}}},eu:function(S){event.preventDefault();if(S.sY){if(S.kn){vz.sn(S.kn)}else S.kn=TObject.Create($New(vz));S.sY(S,S.kn)}},Kq:function(S){event.preventDefault();if(S.bC){if(S.kn){vz.sn(S.kn)}else S.kn=TObject.Create($New(vz));S.bC(S,S.kn)}},ku:function(S){event.preventDefault();if(S.GN){if(S.kn){vz.sn(S.kn)}else S.kn=TObject.Create($New(vz));S.GN(S,S.kn)}},nC:function(S,Vw){Vw.preventDefault();if(S.Od){if(S.ZI){Qw.Qd(S.ZI,Vw)}else S.ZI=TObject.Create($New(Qw));S.Od(S,S.ZI)}},mq:function(S,ud){ud.preventDefault();if(S.hF){if(S.ZI){Qw.Qd(S.ZI,ud)}else S.ZI=TObject.Create($New(Qw));S.hF(S,S.ZI)}},lA:function(S,s3){s3.preventDefault();if(S.kt){if(S.ZI){Qw.Qd(S.ZI,s3)}else S.ZI=TObject.Create($New(Qw));S.kt(S,S.ZI)}},EA:function(S,d28,uG){if(S.CT)S.CT(S,d28,uG)},Lg:function(S,wl){qD.Lg(S,wl);S.mE["onclick"]=$Event1(S,Y7.Oo$);return S},xQ:function(S){TObject.Free(S.gB);TObject.Free(S.E6);TObject.Free(S.HT);TObject.Free(S.ZI);TObject.Free(S.kn);jf.xQ(S)},fT:function(S){return jk(S.mE,"bordertopleftRadius")},P2:function(S){var R=[];var dx=0;var VM=0;var ae=false;var OK=null;var Uj=null;var ce=null;R.length=0;dx=qD.fY(S);if(dx>0){var $t4;for(VM=0,$t4=dx;VM<$t4;VM++){OK=qD.Wg(S,VM);if($Is(OK,Y7)){R.push(OK)}}
if(R.length>1){do{ae=false;var $t5;for(VM=1,$t5=dx;VM<$t5;VM++){Uj=$As(R[VM-1],Y7);ce=$As(R[VM],Y7);if(jf.Zy(ce)<jf.Zy(Uj)){$ArraySwap(R,(VM-1),VM);ae=true}}}while(!(ae==false))}}
return R},lc:function(S){return S.mE.disabled!=true},bf:function(S){var R=null;if(S.gB===null)S.gB=D2.rv($New(D2),S);R=S.gB;return R},uI:function(S){var R=false;if(S.mE)R=document.activeElement==S.mE;return R},Bh:function(S){var R=0;var YM=0;var pi=null;var la=0;R=0;var $t6;for(YM=0,$t6=qD.fY(S);YM<$t6;YM++){pi=qD.Wg(S,YM);if(((pi!==null)&&$Is(pi,Y7))&&pi.mE){la=Y7.t1($As(pi,Y7),0);if(la>R)R=la;la=Y7.Bh($As(pi,Y7));if(la>R)R=la}}
return R},ob:function(S){var R=null;if(S.HT===null)S.HT=yo.kE$($New(q8),S);R=S.HT;return R},Ko:function(S){return YS(S.mE,"class")},t1:function(S,H4){var R=0;var zl=undefined;R=H4;zl=S.mE.style["zIndex"];if(S.mE){if(HG.zQ(zl)){R=parseInt(zl,10)}else if(HG.SC(zl)){R=parseInt(zl,10);if(isNaN(R))R=H4}}
return R},wU:function(S){return li(S.mE,"zoom")},rw:function(S){var sH=undefined;sH=document;sH.addEventListener("mousedown",function(hk){if(tj!==null){Y7.nT$(tj,hk);hk.stopImmediatePropagation()}},true);sH.addEventListener("mousemove",function(r1U){if(tj!==null){Y7.gk$(tj,r1U);r1U.stopImmediatePropagation()}},true);sH.addEventListener("mouseup",function(hu){if(tj!==null){Y7.HO$(tj,hu);hu.stopImmediatePropagation()}
tj=null},true);sH.addEventListener("mouseover",function(XR){if(tj!==null){Y7.H2(tj,XR);XR.stopImmediatePropagation()}},true);sH.addEventListener("mouseout",function(NR){if(tj!==null){Y7.NF(tj,NR);NR.stopImmediatePropagation()}},true);sH.addEventListener("mousewheel",function(a1){if(tj!==null){Y7.nX(tj,a1);a1.stopImmediatePropagation()}},true);sH.addEventListener("onclick",function(W9){if(tj!==null){Y7.Oo$(tj,W9);W9.stopImmediatePropagation()}},true);sH.addEventListener("ondblclick",function(NM){if(tj!==null){Y7.Yn(tj,NM);NM.stopImmediatePropagation()}},true);kB=true},KO:function(S){jf.KO(S);S.YY=$Event0(S,qD.LM);xN(S.mE,"onselectstart",$Event0(S,qD.LM));xN(S.mE,"onfocus",$Event0(S,Y7.v3));xN(S.mE,"onblur",$Event0(S,Y7.Yq))},Be:function(S){},oa:function(S){var NP=0;var tnm=null;Kc.hs(S);try{var $t7;for(NP=0,$t7=qD.fY(S);NP<$t7;NP++){tnm=qD.Wg(S,NP);if($Is(tnm,Y7))setTimeout($Event0($As(tnm,Y7),Y7.oa),10)}}finally{jf.BS(S);Kc.P5(S)}},dI:function(S,CZ,xlE,nd,qn){if(S.Wn)S.Wn(S,CZ,xlE,nd,qn)},oL:function(S,sA,LU,vO){if(S.tq)S.tq(S,sA,LU,vO)},cK:function(S,hJ,qa,bW){if(S.jz)S.jz(S,hJ,qa,bW)},MR:function(S,Xw,oN,bR){if(S.iM)S.iM(S,Xw,oN,bR)},bM:function(S,Mt,z7,AAT,sK){if(S.V4)S.V4(S,Mt,z7,AAT,sK)},RV:function(S,ZF,BK,l2,B8){if(S.Iq)S.Iq(S,ZF,BK,l2,B8)},xc:function(S){--S.OO;if(!S.OO){if(S.mE.releaseCapture){S.mE.releaseCapture()}
tj=null}else if(S.OO<0)S.OO=0},DW:function(S,Jd){var m5="";if(Jd!=S.V8){S.V8=Jd;m5="rotate("+(Jd).toFixed(2)+"deg)";DK(S.mE,me("Transform"),m5)}},mu:function(S,MWI){Kc.hs(S);DK(S.mE,"borderRadius",sX.Wl(MWI));jf.BS(S);Kc.P5(S)},pm:function(S){if(!S.OO){if(S.mE.setCapture){S.mE.setCapture(true)}else if(!kB)Y7.rw(S.ClassType);tj=S}
++S.OO},LY:function(S,FM){S.mE.disabled=(!FM)},jV:function(S){if(S.mE){S.mE.focus()}},t9:function(S,uWP){uz(S.mE,"class",uWP)},Qg:function(S,TF){DK(S.mE,"zoom",TF)},n8:function(S){Kc.n8(S);Y7.t9(S,TObject.ClassName(S.ClassType));jf.za(S,true)},sg:function(S,Ri){if(Ri){S.mE[me("AnimationStart")]=$Event1(S,Y7.mF)}else{S.mE[me("AnimationStart")]=S.YY}
S.qb=Ri},bc:function(S,H9){if(H9){S.mE[me("AnimationEnd")]=$Event1(S,Y7.Rr)}else{S.mE[me("AnimationEnd")]=S.YY}
S.BA=H9},aG:function(S,fc){if(fc){S.mE["onchange"]=$Event1(S,Y7.zz)}else{S.mE["onchange"]=S.YY}
S.c3=fc},pK:function(S,Ek){var H7=undefined;H7=S.mE;if(Ek){H7["oncontextmenu"]=$Event1(S,Y7.tc)}else{H7["oncontextmenu"]=S.YY}
S.CT=Ek},UH:function(S,Ro){if(S.sY){VJ(S.mE,"gesturechange",$Event0(S,Y7.eu),true);S.sY=null}
if(Ro){S.sY=Ro;Bs(S.mE,"gesturechange",$Event0(S,Y7.eu),true)}},Ll:function(S,La){if(S.bC){VJ(S.mE,"gesturestart",$Event0(S,Y7.Kq),true);S.bC=null}
if(La){S.bC=La;Bs(S.mE,"gestureend",$Event0(S,Y7.Kq),true)}},ix:function(S,Em){if(S.GN){VJ(S.mE,"gesturestart",$Event0(S,Y7.ku),true);S.GN=null}
if(Em){S.GN=Em;Bs(S.mE,"gesturestart",$Event0(S,Y7.ku),true)}},hR:function(S,Kd){S.NL=Kd},sW:function(S,D3){S.mE["onkeydown"]=$Event1(S,Y7.up$);S.y7=D3},bi:function(S,Hz){if(Hz){S.mE["onkeypress"]=$Event1(S,Y7.J2)}else{S.mE["onkeypress"]=S.YY}
S.oe=Hz},Oz:function(S,o7){S.mE["onkeyup"]=$Event1(S,Y7.e8$);S.A9=o7},SG:function(S,k2){S.iT=k2},pz:function(S,M9){S.nQ=M9},s8:function(S,FT){if(FT){S.mE["ondblclick"]=$Event1(S,Y7.Yn)}else{S.mE["ondblclick"]=S.YY}
S.ZZ=FT},zE:function(S,kA){S.mE["onmousedown"]=$Event1(S,Y7.nT$);S.Wn=kA},Uv:function(S,xh){if(xh){S.mE["onmouseover"]=$Event1(S,Y7.H2)}else{S.mE["onmouseover"]=S.YY}
S.tq=xh},ak:function(S,go){if(go){S.mE["onmouseout"]=$Event1(S,Y7.NF)}else{S.mE["onmouseout"]=S.YY}
S.jz=go},V6:function(S,Mc){S.mE["onmousemove"]=$Event1(S,Y7.gk$);S.iM=Mc},pM:function(S,KB){S.mE["onmouseup"]=$Event1(S,Y7.HO$);S.V4=KB},QL:function(S,mr){var PX=false;var ws=undefined;ws=S.mE;PX='onmousewheel'in ws;if(PX){if(mr){ws["onmousewheel"]=$Event1(S,Y7.nX)}else{ws["onmousewheel"]=S.YY}}else if(mr){ws.addEventListener("DOMMouseScroll",$Event1(S,Y7.nX),false)}else{ws.removeEventListener("DOMMouseScroll",$Event1(S,Y7.nX),false)}
S.Iq=mr},jB:function(S,eo){S.Q1=eo},KU:function(S,PC){if(PC)Y7.dG(S);S.Od=PC},qd:function(S,Gf){if(Gf)Y7.dG(S);S.hF=Gf},xw:function(S,Fk){if(Fk)Y7.dG(S);S.kt=Fk},Destroy:Kc.Destroy,MI$:function($){return $.ClassType.MI($)},xQ$:function($){return $.ClassType.xQ($)},KO$:function($){return $.ClassType.KO($)},Wa:Kc.Wa,dS:Kc.dS,n8$:function($){return $.ClassType.n8($)},Lg$:function($){return $.ClassType.Lg.apply($.ClassType,arguments)},OM:jf.OM,MS:jf.MS,IK:jf.IK,DT:jf.DT,Oo$:function($){return $.ClassType.Oo.apply($.ClassType,arguments)},up$:function($){return $.ClassType.up.apply($.ClassType,arguments)},e8$:function($){return $.ClassType.e8.apply($.ClassType,arguments)},nT$:function($){return $.ClassType.nT.apply($.ClassType,arguments)},gk$:function($){return $.ClassType.gk.apply($.ClassType,arguments)},HO$:function($){return $.ClassType.HO.apply($.ClassType,arguments)},Be$:function($){return $.ClassType.Be($)},LY$:function($){return $.ClassType.LY.apply($.ClassType,arguments)}};var bN={$ClassName:"TW3DisplayView",$Parent:Y7,$Init:function($){Y7.$Init($);$.BO=false;$.Qc=0},QU:function(S,OI){var tp=0;var d6=0;var pfn=0;var WX=null;var Ce=0;var jC={x4:0,ZU:0,J7:0,vr:0};var a5=0;var Re=0;Ce=qD.fY(S);if(Ce>0){jC=jf.AG(S);switch(OI){case 0:a5=SD$vu(jC);Re=SD$Lc(jC);var $t8;for(tp=0,$t8=Ce;tp<$t8;tp++){WX=qD.Wg(S,tp);if($Is(WX,Y7)&&(!$Is(WX,MD)))jf.Mr($As(WX,Y7),a5,Re)}
break;case 1:pfn=jC.vr;a5=SD$vu(jC);var $t9;for(tp=0,$t9=Ce;tp<$t9;tp++){WX=qD.Wg(S,tp);if($Is(WX,Y7)&&(!$Is(WX,MD))){Re=jf.gl($As(WX,Y7));jf.CB($As(WX,Y7),jC.ZU,pfn,a5,Re);(pfn+=Re)}}
break;case 2:d6=jC.ZU;Re=SD$Lc(jC);var $tA;for(tp=0,$tA=Ce;tp<$tA;tp++){WX=qD.Wg(S,tp);if($Is(WX,Y7)&&(!$Is(WX,MD))){a5=jf.ZJ($As(WX,Y7));jf.CB($As(WX,Y7),d6,jC.vr,a5,Re);(d6+=a5)}}
break}}},KO:function(S){Y7.KO(S);S.BO=true;S.Qc=0},OM:function(S){jf.OM(S);if(S.BO)bN.QU(S,S.Qc)},Destroy:Kc.Destroy,MI:Y7.MI,xQ:Y7.xQ,KO$:function($){return $.ClassType.KO($)},Wa:Kc.Wa,dS:Kc.dS,n8:Y7.n8,Lg:Y7.Lg,OM$:function($){return $.ClassType.OM($)},MS:jf.MS,IK:jf.IK,DT:jf.DT,Oo:Y7.Oo,up:Y7.up,e8:Y7.e8,nT:Y7.nT,gk:Y7.gk,HO:Y7.HO,Be:Y7.Be,LY:Y7.LY};var l4={$ClassName:"TW3Display",$Parent:Y7,$Init:function($){Y7.$Init($);$.xo=$.ZL=$.yL=$.kI=null},xQ:function(S){TObject.Free(S.kI);if(S.ZL)TObject.Free(S.ZL);if(S.xo)TObject.Free(S.xo);Y7.xQ(S)},gn:function(S){var R=0;var lg=0;var ICe=null;var $tB;for(lg=0,$tB=qD.fY(S);lg<$tB;lg++){ICe=qD.Wg(S,lg);if(((ICe!==S.kI)&&$Is(ICe,Y7))&&(!$Is(ICe,MD)))(R+=jf.gl($As(ICe,Y7)))}
return R},KO:function(S){Y7.KO(S);S.kI=qD.Lg$($New(bN),S);jf.jI(S.kI,5)},Xr:function(S,JU){var mM=null;var uY=0;var Cd=0;if(JU){mM=lV();if((mM!==null)&&(!mM.B)){uY=q8.m7(Y7.ob(S.kI));Cd=q8.Jt(Y7.ob(S.kI));jf.CB(JU,uY,Cd,jf.ZJ(S.kI),jf.gl(S.kI))}}else{throw n6.Ud($New(jY),"Method %s in class %s threw exception [%s]",["PositionFormInView",TObject.ClassName(S.ClassType),"Form parameter was NIL error"])}},OM:function(S){var G5u=0;var Lb=[];var mw=0;var rr=0;var X7=null;jf.OM(S);G5u=l4.gn(S);jf.MS$(S.kI,jf.gl(S)-G5u);Lb=Y7.P2(S);rr=0;var $tC;for(mw=0,$tC=Lb.length;mw<$tC;mw++){X7=$As(Lb[mw],Y7);if($Is(X7,MD)){jf.CB(X7,0,0,jf.ZJ(S),jf.gl(S))}else{jf.CB(X7,0,rr,jf.ZJ(S),jf.gl(X7));(rr+=jf.gl(X7));if(!mw)(rr+=2)}}},Destroy:Kc.Destroy,MI:Y7.MI,xQ$:function($){return $.ClassType.xQ($)},KO$:function($){return $.ClassType.KO($)},Wa:Kc.Wa,dS:Kc.dS,n8:Y7.n8,Lg:Y7.Lg,OM$:function($){return $.ClassType.OM($)},MS:jf.MS,IK:jf.IK,DT:jf.DT,Oo:Y7.Oo,up:Y7.up,e8:Y7.e8,nT:Y7.nT,gk:Y7.gk,HO:Y7.HO,Be:Y7.Be,LY:Y7.LY};var MD={$ClassName:"TW3BlockBox",$Parent:Y7,$Init:function($){Y7.$Init($)},Destroy:Kc.Destroy,MI:Y7.MI,xQ:Y7.xQ,KO:Y7.KO,Wa:Kc.Wa,dS:Kc.dS,n8:Y7.n8,Lg:Y7.Lg,OM:jf.OM,MS:jf.MS,IK:jf.IK,DT:jf.DT,Oo:Y7.Oo,up:Y7.up,e8:Y7.e8,nT:Y7.nT,gk:Y7.gk,HO:Y7.HO,Be:Y7.Be,LY:Y7.LY};var poA=["mrCancel","mrOK"];var W5=["feNone","feFromRight","feToLeft"];var Wp=["soPortrait","soLandscapeLeft","soLandscapeRight","soFlipped"];var nr={$ClassName:"TApplicationFormsList",$Parent:TObject,$Init:function($){TObject.$Init($);$.Qq=null;$.oC=[];$.jy=0},ZE:function(S,lS){lS.PN=qD.Lg$($NewDyn(lS.co,""),S.Qq);N.H(lV(),lS.PN,lS.NZ);lS.y8=true},Oq:function(S,KM){var oH=0;var jb=null;var y5=[];S.Qq=KM;S.jy=0;y5=S.oC;var $tD;for(oH=0,$tD=y5.length;oH<$tD;oH++){jb=y5[oH];nr.ZE(S,jb);++S.jy;if(jb.NZ)break}
setTimeout($Event0(S,nr.QV),50)},QV:function(S){var iq=0;var Tbc=null;var $tE;for(iq=S.jy,$tE=S.oC.length;iq<$tE;iq++){Tbc=S.oC[iq];if((Tbc.wS&&(!(Tbc.PN!==null)))&&(!Tbc.y8)){nr.ZE(S,Tbc);++S.jy;if(S.jy<(S.oC.length-1))setTimeout($Event0(S,nr.QV),50);break}}},Ux:function(S,k7){var R=0;var $tF;for(R=0,$tF=S.oC.length;R<$tF;R++){if(S.oC[R].co==k7)return R}
R=-1;return R},Ff:function(S,y1){var R=0;var $tG;for(R=0,$tG=S.oC.length;R<$tG;R++){if(SameText(S.oC[R].E1,y1))return R}
R=-1;return R},lG:function(S,j2,DX,Qt){var eO=null;var JO=0;JO=nr.Ff(S,j2);if(JO>=0){eO=S.oC[JO]}else{eO=TObject.Create($New(TR));eO.E1=j2;S.oC.push(eO)}
eO.NZ=Qt;eO.wS=DX},s1:function(S,A96,kJY){var On=null;var dw=0;dw=nr.Ff(S,A96);if(dw>=0){On=S.oC[dw]}else{On=TObject.Create($New(TR));On.E1=A96;S.oC.push(On)}
On.co=kJY},Yx:function(S,Nd,QxH){var AM3=null;var f84=0;f84=nr.Ux(S,Nd);if(f84>=0){AM3=S.oC[f84]}else{AM3=TObject.Create($New(TR));AM3.co=Nd;S.oC.push(AM3)}
AM3.PN=QxH},Yw:function(S,aV){var Lp=0;var $tH;for(Lp=0,$tH=S.oC.length;Lp<$tH;Lp++){if(S.oC[Lp].PN===aV)S.oC[Lp].PN=null}},Destroy:TObject.Destroy};var TR={$ClassName:"TApplicationFormInfo",$Parent:TObject,$Init:function($){TObject.$Init($);$.y8=$.NZ=$.wS=false;$.E1="";$.PN=null;$.co=null},Destroy:TObject.Destroy};function Go(){return of()};var n6={$ClassName:"EW3Exception",$Parent:Exception,$Init:function($){Exception.$Init($)},Ud:function(S,lT,PJ){Exception.Create(S,Format(lT,PJ.slice(0)));return S},Destroy:Exception.Destroy};var jY={$ClassName:"EW3Screen",$Parent:n6,$Init:function($){n6.$Init($)},Destroy:Exception.Destroy};var wq={$ClassName:"EW3Application",$Parent:n6,$Init:function($){n6.$Init($)},Destroy:Exception.Destroy};function lV(){return L};var US={$ClassName:"TModalInfo",$Parent:TObject,$Init:function($){TObject.$Init($);$.Sg=null;$.dh=null;$.NA=$.tz=$.F8=$.qM=null},Destroy:TObject.Destroy};function of(){var R=null;if(!rA)rA=TObject.Create($New(nr));R=rA;return R};function TD(Rx){var R=false;R=!((Rx==null)||(Rx==undefined));return R};var HG={$ClassName:"TVariant",$Parent:TObject,$Init:function($){TObject.$Init($)},OJ:function(FX){var R=0;if(TD(FX))R=Number(FX);return R},hE:function(um){var R=0;if(TD(um))R=parseInt(um,10);return R},UN:function(A8){var R=null;if(TD(A8)){R=A8}else R=null;return R},PK:function(iGE){var R="";if(TD(iGE))R=""+iGE;return R},JT:function(){var R=undefined;return{};return R},kO:function(Fp){return(Fp===null)},zQ:function(bq){var R=false;if(bq==null)return false;if(bq==undefined)return false;if(typeof(bq)==="number")return true;return R},SC:function(aq){var R=false;if(aq==null)return false;if(aq==undefined)return false;if(typeof(aq)==="string")return true;return R},Tu:function(ff){var R=[];var Xy=undefined;for(Xy in ff)(R).push(Xy);return R},Destroy:TObject.Destroy};function Copy$U4(s,d){d.B5=s.B5;d.j1=s.j1;d.nf=s.nf;d.JQ=s.JQ;return d}
function Clone$U4($){return{B5:$.B5,j1:$.j1,nf:$.nf,JQ:$.JQ}}
function Np(tX,QG,km,j4){var R={B5:0,j1:0,nf:0,JQ:0};if(tX<km){R.j1=tX;R.nf=km}else{R.j1=km;R.nf=tX}
if(QG<j4){R.JQ=QG;R.B5=j4}else{R.JQ=j4;R.B5=QG}
return R}
function U4$ZC(R2){return R2.B5-R2.JQ}
function U4$ZV(Vx){return Vx.nf-Vx.j1}
function Copy$SD(s,d){d.x4=s.x4;d.ZU=s.ZU;d.J7=s.J7;d.vr=s.vr;return d}
function Clone$SD($){return{x4:$.x4,ZU:$.ZU,J7:$.J7,vr:$.vr}}
function SD$Xm(Cqf,mh,Ys){return(((mh>=Cqf.ZU)&&(mh<=Cqf.J7))&&(Ys>=Cqf.vr))&&(Ys<=Cqf.x4)}
function SD$Lc(AS){return AS.x4-AS.vr}
function SD$vu(NmC){return NmC.J7-NmC.ZU}
function Copy$vF(s,d){d.RH=s.RH;d.MC=s.MC;return d}
function Clone$vF($){return{RH:$.RH,MC:$.MC}}
function Copy$FB(s,d){d.Lm=s.Lm;d.W1=s.W1;return d}
function Clone$FB($){return{Lm:$.Lm,W1:$.W1}}
function gx(nK,JDR){var R={Lm:0,W1:0};R.Lm=nK;R.W1=JDR;return R}
var sX={$ClassName:"TInteger",$Parent:TObject,$Init:function($){TObject.$Init($)},uL:function(pV,RvH){var R=0;if(pV!=RvH){if(pV>RvH){R=pV-RvH}else R=RvH-pV;if(R<0)R=(R-1)^(-1)}else R=0;return R},Wl:function(Cb){return Cb.toString()+"px"},dn:function(Vf,J8,Ip){var R=0;if(Vf>Ip){R=J8+sX.uL(Ip,(Vf-1));if(R>Ip)R=sX.dn(R,J8,Ip)}else if(Vf<J8){R=Ip-sX.uL(J8,(Vf+1));if(R<J8)R=sX.dn(R,J8,Ip)}else R=Vf;return R},Destroy:TObject.Destroy};var iND=["esVisible","esPartly","esNone"];function KD(Y4,daW){var R={Lm:0,W1:0};R.Lm=Y4.Lm+daW.Lm;R.W1=Y4.W1+daW.W1;return R};function jw(HE,T8){var R={Lm:0,W1:0};R.Lm=HE.Lm+T8;R.W1=HE.W1+T8;return R};function Rq(DV,IAI){var R={RH:0,MC:0};R.RH=DV.RH+IAI.RH;R.MC=DV.MC+IAI.MC;return R};function ih(XA,gol){var R={RH:0,MC:0};R.RH=XA.RH+gol;R.MC=XA.MC+gol;return R};function DI(ga,dv){var R={RH:0,MC:0};R.RH=ga.RH+dv;R.MC=ga.MC+dv;return R};function rk(trE,L5){var R={Lm:0,W1:0};R.Lm=trE.Lm-L5.Lm;R.W1=trE.W1-L5.W1;return R};function so(XS,S0b){var R={Lm:0,W1:0};R.Lm=XS.Lm-S0b;R.W1=XS.W1-S0b;return R};function BB(fMT,kw){var R={RH:0,MC:0};R.RH=fMT.RH-kw.RH;R.MC=fMT.MC-kw.MC;return R};function GY(piY,UP){var R={RH:0,MC:0};R.RH=piY.RH-UP;R.MC=piY.MC-UP;return R};function jl(ts,aM){var R={RH:0,MC:0};R.RH=ts.RH-aM;R.MC=ts.MC-aM;return R};function og(ssN,goI){var R={Lm:0,W1:0};R.Lm=Math.round(ssN.Lm*goI.Lm);R.W1=Math.round(ssN.W1*goI.W1);return R};function tN(Ut,pA){var R={Lm:0,W1:0};R.Lm=Math.round(Ut.Lm*pA);R.W1=Math.round(Ut.W1*pA);return R};function Sy(Zd,Eq){var R={Lm:0,W1:0};R.Lm=Math.round(Zd.Lm*Eq);R.W1=Math.round(Zd.W1*Eq);return R};function wf(lw,SDb){var R={RH:0,MC:0};R.RH=lw.RH*SDb.RH;R.MC=lw.MC*SDb.MC;return R};function tZ(i6,z2){var R={RH:0,MC:0};R.RH=i6.RH*z2;R.MC=i6.MC*z2;return R};function dU(J6,Lk){var R={RH:0,MC:0};R.RH=J6.RH*Lk;R.MC=J6.MC*Lk;return R};function rW(D5){if(window.console){window.console.log(D5)}};function DK(CY,om,po){if(CY){CY.style[om]=po}};function EY(pF,hQ,Iu){pF[hQ]=Iu};function r5(WH,ZK){if(TD(ZK)){if(TD(WH)){ZK.appendChild(WH)}else{throw Exception.Create($New(Exception),"Failed to add element to parent, element is null")}}};function uz(gY,Or,Sr){if(gY){gY.setAttribute(Or,Sr)}};function DE(qWR){var R=undefined;if(!FA)pI();R=FA(qWR);return R};function VJ(bh,ev,tm,z5){if(ev=="mousewheel")ev="DOMMouseScroll";bh.removeEventListener(ev,tm,z5)};function pJ(Drw,EG){if(EG){EG.removeChild(Drw)}};function yS(SV,pd){var sp=undefined;if(yV(SV,pd)){sp=new RegExp("(\\s|^)"+pd+"(\\s|$)");(SV).className=(SV).className.replace(sp," ").replace('  ',' ').trim()}};function AX(qF){u8=qF};function Vq(pj1){return"url("+pj1+")"};function yV(RY,gD1){var R=false;R=((RY).className.match(new RegExp("(\\s|^)"+gD1+"(\\s|$)")))?true:false;return R};function DZ(){var R="";++YJ;R="OBJ"+YJ.toString();return R};function Un(){var R=0;++YJ;R=YJ;return R};function Bu(iS,BH){var R="";var Gz=undefined;Gz=bv(iS,BH);if(HG.SC(Gz)){R=HG.PK(Gz)}else if(HG.zQ(Gz))R=HG.hE(Gz).toString();return R};function jk(sTh,CE){var R=0;var ky=undefined;ky=bv(sTh,CE);if(HG.zQ(ky)){R=parseInt(ky,10)}else if(HG.SC(ky))R=parseInt(ky,10);if(isNaN(R))R=0;return R};function li(nn,wE){var R=0;var O2=undefined;O2=bv(nn,wE);if(TD(O2)){try{if(HG.zQ(O2)){R=HG.OJ(O2);if(isNaN(R))R=0}else if(HG.SC(O2)){R=Number(O2);if(isNaN(R))R=0}}catch($e){var FS=$W($e)}}
return R};function bv(aJ3,sJt){var R=undefined;var sd=undefined;sd=document.defaultView.getComputedStyle(aJ3,null);if(sd)R=sd.getPropertyValue(sJt);return R};function d7(JVv,XY){var R="";if(JVv)R=""+JVv[XY];return R};function S8(JDB,L2){var R=0;if(JDB)R=parseInt(JDB[L2],10);return R};function m8(){var R=false;if(navigator.userAgent.match(/Safari/i))R=true;return R};function z9(){var R=false;if(navigator.userAgent.match(/Opera/i))R=true;return R};function FR(){var R=false;if(navigator.userAgent.match(/iPod/i))R=true;return R};function C4(){var R=false;if(navigator.userAgent.match(/iPhone/i))R=true;return R};function jO(){var R=false;if(navigator.userAgent.match(/iPad/i))R=true;return R};function hS(){var R=false;if(navigator.userAgent.match(/MSIE/i))R=true;return R};function WS(){var R=false;if(navigator.userAgent.match(/Firefox/i))R=true;return R};function yk(){var R=false;if(navigator.userAgent.match(/Chrome/i))R=true;return R};function mD(){var R=false;if(navigator.userAgent.match(/Android/i))R=true;return R};function YS(zy,J2A){var R="";var CQ=undefined;CQ=zy.getAttribute(J2A,0);if(CQ)R=""+CQ;return R};function Oj(zI,HL9){var R=undefined;if(zI)R=zI.getAttribute(HL9);return R};function xn(yFC){return"-"+SY().PZ+"-"+yFC};function me(sr){return SY().PZ+sr};function Hk(KR){return document.createElement(KR)};function xN(Sv,KcI,Hw){Sv[KcI]=Hw};function XE(UA){var R="";if(TD(UA))R=""+window.btoa(UA);return R};function Bs(Ym,Qfe,nRI,yE){if(Qfe=="mousewheel")Qfe="DOMMouseScroll";Ym.addEventListener(Qfe,nRI,yE)};function DP(ym,Xgs){if(!yV(ym,Xgs))ym.className+=" "+Xgs};var sw={$ClassName:"TW3CustomBrowserAPI",$Parent:TObject,$Init:function($){TObject.$Init($);$.Ia=$.bZ=$.iF=$.pj=$.QJ=$.PZ=$.GT=""},nJ:function(){var R=0;R=window.devicePixelRatio||1;return R},Destroy:TObject.Destroy};var E9={$ClassName:"TW3WebkitBrowserAPI",$Parent:sw,$Init:function($){sw.$Init($)},hK:function(S){S.PZ="webkit";S.iF="background-image";S.QJ="webkitbackgroundSize";S.pj="webkitbackgroundPosition";S.bZ="webkitbackgroundColor";S.GT="webkitTransform";S.Ia="webkitAnimation";return S},Destroy:TObject.Destroy};var yo={$ClassName:"TW3OwnedObject",$Parent:TObject,$Init:function($){TObject.$Init($);$.WZ=null},Nu:function(S,sC){return true},kE:function(S,tC){TObject.Create(S);if(yo.Nu$(S,tC)){S.WZ=tC}else{throw n6.Ud($New(ag),"Method %s in class %s threw exception [%s]",["constructor",TObject.ClassName(S.ClassType),"Unsuitable owner object-type error"])}
return S},Destroy:TObject.Destroy,Nu$:function($){return $.ClassType.Nu.apply($.ClassType,arguments)},kE$:function($){return $.ClassType.kE.apply($.ClassType,arguments)}};var kx={$ClassName:"TW3OperaBrowserAPI",$Parent:sw,$Init:function($){sw.$Init($)},Jp:function(S){S.PZ="O";S.iF="OBackgroundImage";S.QJ="OBackgroundSize";S.pj="OBackgroundPosition";S.bZ="backgroundColor";S.GT="OTransform";S.Ia="OAnimation";return S},Destroy:TObject.Destroy};var NH={$ClassName:"TW3IEBrowserAPI",$Parent:sw,$Init:function($){sw.$Init($)},v8:function(S){S.PZ="ms";S.iF="msBackgroundImage";S.QJ="msBackgroundSize";S.pj="msBackgroundPosition";S.bZ="backgroundColor";S.GT="msTransform";S.Ia="msAnimation";return S},Destroy:TObject.Destroy};var AL={$ClassName:"TW3FirefoxBrowserAPI",$Parent:sw,$Init:function($){sw.$Init($)},XK:function(S){S.PZ="Moz";S.iF="backgroundImage";S.QJ="backgroundSize";S.pj="backgroundPosition";S.bZ="backgroundColor";S.GT="MozTransform";S.Ia="MozAnimation";return S},Destroy:TObject.Destroy};var HA=["bvUnknown","bviOS","bvAndroid","bvChrome","bvSafari","bvFirefox","bvOpera","bvIE"];var ag={$ClassName:"EW3OwnedObject",$Parent:n6,$Init:function($){n6.$Init($)},Destroy:Exception.Destroy};function SY(){var R=null;if(u8===null)ow();R=u8;return R};function ow(){if(mD()){ra=2}else if(m8()){ra=4}else if(WS()){ra=5}else if(yk()){ra=3}else if(hS()){ra=7}else if(z9())ra=6;if(!ra){if((C4()||jO())||FR())ra=1}
switch(ra){case 1:case 4:case 3:case 2:AX(E9.hK($New(E9)));break;case 5:AX(AL.XK($New(AL)));break;case 7:AX(NH.v8($New(NH)));break;case 6:AX(kx.Jp($New(kx)));break;default:AX(AL.XK($New(AL)))}};function pI(){FA=(function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame||function(callback){return window.setTimeout(callback,1000/60)}})();bF=(function(){return window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.msCancelAnimationFrame||function(handle){window.clearTimeout(handle)}})()};var vG={$ClassName:"TW3CustomForm",$Parent:Y7,$Init:function($){Y7.$Init($);$.qT="";$.Va=false},Lg:function(S,cs){Y7.Lg(S,cs);nr.Yx(Go(),$AsClass(TObject.ClassType(S.ClassType),vG),S);return S},Destroy:function(S){N.Y(lV(),S);nr.Yw(Go(),S)},Ei:function(S){var xb=0;var VP=null;var t7=null;if(!S.Va){S.Va=true;vG.eZ$(S)}
if(S.U8){var $tI;for(xb=0,$tI=qD.fY(S);xb<$tI;xb++){VP=qD.Wg(S,xb);if($Is(VP,Y7)){t7=$As(VP,Y7);if(t7.U8&&jf.QP(t7))Y7.oa(t7)}}}},vH:function(S){},eZ:function(S){},BW:function(S,CA){S.qT=CA},n8:function(S){Y7.n8(S);DK(S.mE,me("Transform"),"none");Y7.t9(S,"TW3CustomForm")},Destroy$:function($){return $.ClassType.Destroy($)},MI:Y7.MI,xQ:Y7.xQ,KO:Y7.KO,Wa:Kc.Wa,dS:Kc.dS,n8$:function($){return $.ClassType.n8($)},Lg$:function($){return $.ClassType.Lg.apply($.ClassType,arguments)},OM:jf.OM,MS:jf.MS,IK:jf.IK,DT:jf.DT,Oo:Y7.Oo,up:Y7.up,e8:Y7.e8,nT:Y7.nT,gk:Y7.gk,HO:Y7.HO,Be:Y7.Be,LY:Y7.LY,eZ$:function($){return $.ClassType.eZ($)}};var Kb={$ClassName:"TW3Form",$Parent:vG,$Init:function($){vG.$Init($)},Destroy:vG.Destroy,MI:Y7.MI,xQ:Y7.xQ,KO:Y7.KO,Wa:Kc.Wa,dS:Kc.dS,n8:vG.n8,Lg:vG.Lg,OM:jf.OM,MS:jf.MS,IK:jf.IK,DT:jf.DT,Oo:Y7.Oo,up:Y7.up,e8:Y7.e8,nT:Y7.nT,gk:Y7.gk,HO:Y7.HO,Be:Y7.Be,LY:Y7.LY,eZ:vG.eZ};var q8={$ClassName:"TW3ScrollInfo",$Parent:yo,$Init:function($){yo.$Init($)},Nu:function(S,rs){return(rs!==null)&&$Is(rs,Kc)},Se:function(S){var R=0;var hb=undefined;hb=$As(S.WZ,Kc).mE;if(hb){R=HG.hE(hb.scrollHeight)}else At.el("TW3ScrollInfo.GetScrollHeight",S,"invalid owner handle error");return R},m7:function(S){var R=0;var XpQ=undefined;XpQ=$As(S.WZ,Kc).mE;if(XpQ){R=HG.hE(XpQ.scrollLeft)}else At.el("TW3ScrollInfo.GetScrollLeft",S,"invalid owner handle error");return R},Jt:function(S){var R=0;var P13=undefined;P13=$As(S.WZ,Kc).mE;if(P13){R=HG.hE(P13.scrollTop)}else At.el("TW3ScrollInfo.GetScrollTop",S,"invalid owner handle error");return R},ll:function(S){var R=0;var yD=undefined;yD=$As(S.WZ,Kc).mE;if(yD){R=HG.hE(yD.scrollWidth)}else At.el("TW3ScrollInfo.GetScrollWidth",S,"invalid owner handle error");return R},KA:function(S,iv,IJ){var y7T=undefined;y7T=$As(S.WZ,Kc).mE;if(y7T){y7T.scrollLeft=iv;y7T.scrollTop=IJ}else At.el("TW3ScrollInfo.ScrollTo",S,"invalid owner handle error")},Destroy:TObject.Destroy,Nu$:function($){return $.ClassType.Nu.apply($.ClassType,arguments)},kE:yo.kE};var Al={$ClassName:"TW3GraphicControl",$Parent:Y7,$Init:function($){Y7.$Init($);$.lu=$.cI=$.pP=null;$.su=false},xQ:function(S){TObject.Free(S.lu);TObject.Free(S.cI);Y7.xQ(S)},KO:function(S){Y7.KO(S);S.cI=S2.N5($New(S2),S.mE);S.lu=Ij.CJ($New(Ij),S.cI)},Be:function(S){if(!S.su){S.su=true;kj.VB(S)}},dS:function(S){return Hk("canvas")},Vp:function(S){if(S.pP)S.pP(S,S.lu)},cf:function(S){S.su=false;if((((!Kc.kk(S))&&(S.lu!==null))&&(S.cI!==null))&&jf.QP(S))Al.Vp(S)},OM:function(S){jf.OM(S);uz(S.mE,"width",bv(S.mE,"width"));uz(S.mE,"height",bv(S.mE,"height"))},MS:function(S,aW){jf.MS(S,aW);if(S.mE){uz(S.mE,"height",sX.Wl(aW))}else At.el("TW3GraphicControl.SetHeight",S,"invalid control handle error")},IK:function(S,U2){jf.IK(S,U2);if(S.mE){uz(S.mE,"width",sX.Wl(U2))}else At.el("TW3GraphicControl.SetWidth",S,"invalid control handle error")},Destroy:Kc.Destroy,MI:Y7.MI,xQ$:function($){return $.ClassType.xQ($)},KO$:function($){return $.ClassType.KO($)},Wa:Kc.Wa,dS$:function($){return $.ClassType.dS($)},n8:Y7.n8,Lg:Y7.Lg,OM$:function($){return $.ClassType.OM($)},MS$:function($){return $.ClassType.MS.apply($.ClassType,arguments)},IK$:function($){return $.ClassType.IK.apply($.ClassType,arguments)},DT:jf.DT,Oo:Y7.Oo,up:Y7.up,e8:Y7.e8,nT:Y7.nT,gk:Y7.gk,HO:Y7.HO,Be$:function($){return $.ClassType.Be($)},LY:Y7.LY};function Copy$Yy(s,d){return d}
function Clone$Yy($){return{}}
var Di={$ClassName:"TW3CustomFont",$Parent:TObject,$Init:function($){TObject.$Init($);$.Ra=null},YO:function(S){var R={v:0};try{var gL=undefined;var Cuv="";gL=Di.MU$(S);if(gL){Cuv=Bu(gL,"color");R.v=Fd(Cuv)}else{throw n6.Ud($New(nm),"Method %s in class %s threw exception [%s]",["TW3CustomFont.getColor",TObject.ClassName(S.ClassType),"Invalid tag handle error"])}}finally{return R.v}},Ds:function(S){var R="";var p8v=undefined;p8v=Di.MU$(S);if(p8v){R=Bu(p8v,"fontFamily")}else{throw n6.Ud($New(nm),"Method %s in class %s threw exception [%s]",["TW3CustomFont.getName",TObject.ClassName(S.ClassType),"Invalid tag handle error"])}
return R},Ke:function(S){var R=0;var vh=undefined;vh=Di.MU$(S);if(vh){R=jk(vh,"fontSize")}else{throw n6.Ud($New(nm),"Method %s in class %s threw exception [%s]",["TW3CustomFont.getSize",TObject.ClassName(S.ClassType),"Invalid tag handle error"])}
return R},an:function(S){var R="";var D1=undefined;D1=Di.MU$(S);if(D1){R=Bu(D1,"fontWeight")}else{throw n6.Ud($New(nm),"Method %s in class %s threw exception [%s]",["TW3CustomFont.getWeight",TObject.ClassName(S.ClassType),"Invalid tag handle error"])}
return R},HH:function(S,f2b){var r8=undefined;r8=Di.MU$(S);if(r8){DK(r8,"color",w1(f2b,255));if(S.Ra)S.Ra(S)}else{throw n6.Ud($New(nm),"Method %s in class %s threw exception [%s]",["TW3CustomFont.setColor",TObject.ClassName(S.ClassType),"Invalid tag handle error"])}},GD:function(S,Ggx){var U6=undefined;U6=Di.MU$(S);if(U6){DK(U6,"fontFamily",Ggx);if(S.Ra)S.Ra(S)}else{throw n6.Ud($New(nm),"Method %s in class %s threw exception [%s]",["TW3CustomFont.setName",TObject.ClassName(S.ClassType),"Invalid tag handle error"])}},Le:function(S,Ol){var WKN=undefined;WKN=Di.MU$(S);if(WKN){DK(WKN,"fontSize",sX.Wl(Ol));if(S.Ra)S.Ra(S)}else{throw n6.Ud($New(nm),"Method %s in class %s threw exception [%s]",["TW3CustomFont.setSize",TObject.ClassName(S.ClassType),"Invalid tag handle error"])}},lO:function(S,rb){var jQ=undefined;jQ=Di.MU$(S);if(jQ){DK(jQ,"fontWeight",rb);if(S.Ra)S.Ra(S)}else{throw n6.Ud($New(nm),"Method %s in class %s threw exception [%s]",["TW3CustomFont.setWeight",TObject.ClassName(S.ClassType),"Invalid tag handle error"])}},Destroy:TObject.Destroy,MU$:function($){return $.ClassType.MU($)}};var D2={$ClassName:"TW3ControlFont",$Parent:Di,$Init:function($){Di.$Init($);$.D4=null},MU:function(S){return S.D4.mE},rv:function(S,YA){TObject.Create(S);if(YA){S.D4=YA}else At.el("TW3ControlFont.Create",S,"Owner was nil error");return S},Destroy:TObject.Destroy,MU$:function($){return $.ClassType.MU($)}};var jJ={$ClassName:"TW3ControlBackground",$Parent:yo,$Init:function($){yo.$Init($)},Nu:function(S,XZ){return(XZ!==null)&&$Is(XZ,jf)},Destroy:TObject.Destroy,Nu$:function($){return $.ClassType.Nu.apply($.ClassType,arguments)},kE:yo.kE};var Jm={$ClassName:"TW3Constraints",$Parent:yo,$Init:function($){yo.$Init($)},Nu:function(S,Hu){return(Hu!==null)&&$Is(Hu,Kc)},bu:function(S){var R=0;var lp=undefined;lp=$As(S.WZ,jf).mE;if(lp)R=jk(lp,"max-height");return R},fO:function(S){var R=0;var GH=undefined;GH=$As(S.WZ,jf).mE;if(GH)R=jk(GH,"max-width");return R},UM:function(S){var R=0;var Hc=undefined;Hc=$As(S.WZ,jf).mE;if(Hc)R=jk(Hc,"min-height");return R},qI:function(S){var R=0;var z9t=undefined;z9t=$As(S.WZ,jf).mE;if(z9t)R=jk(z9t,"min-width");return R},RK:function(S,Zw){var UiU=undefined;UiU=$As(S.WZ,jf).mE;if(UiU){UiU.style["max-width"]=sX.Wl(Zw)}},oJ:function(S,zg){var zL=undefined;zL=$As(S.WZ,jf).mE;if(zL){zL.style["max-width"]=sX.Wl(zg)}},ip:function(S,i8Y){var pW=undefined;pW=$As(S.WZ,jf).mE;if(pW){pW.style["min-height"]=sX.Wl(i8Y)}},vy:function(S,gxP){var R0O=undefined;R0O=$As(S.WZ,jf).mE;if(R0O){R0O.style["min-width"]=sX.Wl(gxP)}},Destroy:TObject.Destroy,Nu$:function($){return $.ClassType.Nu.apply($.ClassType,arguments)},kE:yo.kE};var kj={$ClassName:"TW3AnimationFrame",$Parent:TObject,$Init:function($){TObject.$Init($)},vB:function(){var rS=0;var sw3=[];var Pv=[];if(NS.length>0){sw3=NS;NS=[];var $tJ;for(rS=0,$tJ=sw3.length;rS<$tJ;rS++){sw3[rS]()}}
if(xU.length>0){Pv=xU;xU=[];var $tK;for(rS=0,$tK=Pv.length;rS<$tK;rS++){Al.cf(Pv[rS])}}
var $tL;for(rS=0,$tL=bH.length;rS<$tL;rS++){bH[rS]()}},VB:function(bn){xU.push(bn);if(!qA)DE(kj.vB)},Destroy:TObject.Destroy};var X6h=["ssShift","ssAlt","ssCtrl","ssMeta","ssLeft","ssRight","ssMiddle"];var yd={$ClassName:"TShiftState",$Parent:TObject,$Init:function($){TObject.$Init($);$.R4=$.oq=null;$.g8=0},tG:function(S,DO){var R=false;if(S.R4===null){R=false}else{switch(DO){case 0:R=S.R4.shiftKey;break;case 1:R=S.R4.altKey;break;case 2:R=S.R4.ctrlKey;break;case 3:R=S.R4.metaKey;break;case 4:R=((S.g8&1)!=0);break;case 5:R=((S.g8&4)!=0);break;case 6:R=((S.g8&2)!=0);break}}
return R},bS:function(){var R=null;if(Dt===null)Dt=TObject.Create($New(yd));R=Dt;return R},WW:function(S,Ue3){S.R4=Ue3;S.oq=Ue3},Destroy:TObject.Destroy};var Sna=["mbLeft","mbMiddle","mbRight"];var r4={$ClassName:"TCustomAppContainer",$Parent:qD,$Init:function($){qD.$Init($)},Destroy:Kc.Destroy,MI:Kc.MI,xQ:qD.xQ,KO:qD.KO,Wa:Kc.Wa,dS:Kc.dS,n8:Kc.n8,Lg:qD.Lg};var Ue={$ClassName:"TDocumentBody",$Parent:r4,$Init:function($){r4.$Init($)},d5:function(S){return parseInt(window.innerHeight,10)},tI:function(S){return parseInt(window.innerWidth,10)},Wa:function(S){return""},dS:function(S){return document.body},n8:function(S){},Destroy:Kc.Destroy,MI:Kc.MI,xQ:qD.xQ,KO:qD.KO,Wa$:function($){return $.ClassType.Wa($)},dS$:function($){return $.ClassType.dS($)},n8$:function($){return $.ClassType.n8($)},Lg:qD.Lg};var At={$ClassName:"EW3TagObj",$Parent:n6,$Init:function($){n6.$Init($)},el:function(LE3,yH,Ay2){throw n6.Ud($New(At),"Method %s in class %s threw exception [%s]",[LE3,(yH!==null)?TObject.ClassName(yH.ClassType):"nil",Ay2])},Destroy:Exception.Destroy};function Copy$fN(s,d){d.bG=s.bG;d.a6=s.a6;d.Id=s.Id;d.Oe=s.Oe;return d}
function Clone$fN($){return{bG:$.bG,a6:$.a6,Id:$.Id,Oe:$.Oe}}
function Fd(VC){VC={v:VC};var R={v:0};try{var Zu="";var E3=0;var Ze=0;var Ql=0;var ut=0;VC.v=Trim$_String_(VC.v);if(!VC.v.length)return R.v;if((VC.v.charAt(0)=="#")||(VC.v.charAt(0)=="$")){R.v=parseInt("0x"+Trim$_String_Integer_Integer_(VC.v,1,0),16)}else if((VC.v).substr(0,2)=="0x"){R.v=parseInt(VC.v,16)}else if(((VC.v).substr(0,4)).toLowerCase()=="rgb("){VC.v=Trim$_String_Integer_Integer_(VC.v,4,0);try{E3=(VC.v.indexOf(",")+1);if(E3>1){Zu=VC.v.substr(0,(E3-1));Delete(VC,1,E3);if(Zu.charAt(0)=="$")Zu="0x"+Trim$_String_Integer_Integer_(Zu,1,0);Ze=parseInt(Zu,10)}
E3=(VC.v.indexOf(",")+1);if(E3>1){Zu=VC.v.substr(0,(E3-1));Delete(VC,1,E3);if(Zu.charAt(0)=="$")Zu="0x"+Trim$_String_Integer_Integer_(Zu,1,0);Ql=parseInt(Zu,10)}
E3=(VC.v.indexOf(")")+1);if(E3>1){Zu=VC.v.substr(0,(E3-1));if(Zu.charAt(0)=="$")Zu="0x"+Trim$_String_Integer_Integer_(Zu,1,0);ut=parseInt(Zu,10)}
R.v=rD(Ze,Ql,ut)}catch($e){var Au=$W($e);return R.v}}}finally{return R.v}};function rD(H5,A35,wI){return(wI|(A35<<8))|(H5<<16)};function w1(BR,Cw){return kP((BR>>>16)&255,(BR>>>8)&255,BR&255,Cw)};function kP(bA,nLD,uE,DD){return(DD==255)?"#"+IntToHex2(bA)+IntToHex2(nLD)+IntToHex2(uE):"rgba("+bA.toString()+","+nLD.toString()+","+uE.toString()+","+((DD/255)).toString()+")"};function gJ(hjp){var R="";var R1=0;R1=(((hjp>>>16)&255)|(hjp&65280))|((hjp&255)<<16);R="0x"+IntToHex(R1,6);return R};var nm={$ClassName:"EW3FontError",$Parent:n6,$Init:function($){n6.$Init($)},Destroy:Exception.Destroy};function Copy$hl(s,d){return d}
function Clone$hl($){return{}}
var QO={$ClassName:"TW3ImageData",$Parent:TObject,$Init:function($){TObject.$Init($)},Destroy:TObject.Destroy};var zj={$ClassName:"TW3CustomGraphicContext",$Parent:TObject,$Init:function($){TObject.$Init($)},Destroy:TObject.Destroy,Hl$:function($){return $.ClassType.Hl($)},gy$:function($){return $.ClassType.gy($)},af$:function($){return $.ClassType.af($)},pZ$:function($){return $.ClassType.pZ($)},Wz$:function($){return $.ClassType.Wz($)},MQ$:function($){return $.ClassType.MQ($)},Mx$:function($){return $.ClassType.Mx.apply($.ClassType,arguments)}};var S2={$ClassName:"TW3ControlGraphicContext",$Parent:zj,$Init:function($){zj.$Init($);$.j5=undefined},N5:function(S,VeD){TObject.Create(S);if(VeD){S.j5=VeD}else{throw Exception.Create($New(Exception),"Control handle is invalid error")}
return S},Hl:function(S){return S.j5.getContext("2d")},gy:function(S){return S.j5},af:function(S){return S8(S.j5,"height")},pZ:function(S){return false},Wz:function(S){return S8(S.j5,"width")},MQ:function(S){},Mx:function(S,Eg,Zb){},Destroy:TObject.Destroy,Hl$:function($){return $.ClassType.Hl($)},gy$:function($){return $.ClassType.gy($)},af$:function($){return $.ClassType.af($)},pZ$:function($){return $.ClassType.pZ($)},Wz$:function($){return $.ClassType.Wz($)},MQ$:function($){return $.ClassType.MQ($)},Mx$:function($){return $.ClassType.Mx.apply($.ClassType,arguments)}};var bx={$ClassName:"TW3CanvasPattern",$Parent:TObject,$Init:function($){TObject.$Init($)},Destroy:TObject.Destroy};var Oy={$ClassName:"TW3CanvasGradient",$Parent:TObject,$Init:function($){TObject.$Init($);$.PF=undefined},YE:function(S,QIE){TObject.Create(S);S.PF=QIE;return S},Destroy:TObject.Destroy};var Ij={$ClassName:"TW3Canvas",$Parent:TObject,$Init:function($){TObject.$Init($);$.yR=$.r3=null},CJ:function(S,XC){TObject.Create(S);S.yR=XC;if(S.yR){S.r3=zj.Hl$(S.yR)}else{throw Exception.Create($New(Exception),"Invalid canvas context error")}
return S},Destroy:TObject.Destroy};var GU=["Left","Middle","Right"];var k4={$ClassName:"TW3CSSClassStyleNames",$Parent:yo,$Init:function($){yo.$Init($);$.tW=[];$.Yl=""},Nu:function(S,M8){return(M8!==null)&&$Is(M8,Y7)},kE:function(S,OsD){yo.kE(S,OsD);S.Yl="class";S.tW=[];return S},Destroy:function(S){S.tW.length=0;TObject.Destroy(S)},Destroy$:function($){return $.ClassType.Destroy($)},Nu$:function($){return $.ClassType.Nu.apply($.ClassType,arguments)},kE$:function($){return $.ClassType.kE.apply($.ClassType,arguments)}};var hd={$ClassName:"TW3TouchList",$Parent:TObject,$Init:function($){TObject.$Init($);$.Ad=[]},Vn:function(S){S.Ad.length=0},LS:function(S,T5){var ND=0;var Hh=0;var EV=null;ND=T5.length;if(ND==S.Ad.length){var $tM;for(Hh=0,$tM=ND;Hh<$tM;Hh++){fP.Cf(S.Ad[Hh],T5[Hh])}}else{hd.Vn(S);var $tN;for(Hh=0,$tN=ND;Hh<$tN;Hh++){EV=TObject.Create($New(fP));fP.Cf(EV,T5[Hh]);S.Ad.push(EV)}}},Destroy:TObject.Destroy};var Qw={$ClassName:"TW3TouchData",$Parent:TObject,$Init:function($){TObject.$Init($);$.lf=$.sI=null},Qd:function(S,u1){if(S.sI)hd.LS(S.sI,u1.touches);if(S.lf)hd.LS(S.lf,u1.changedTouches)},Destroy:TObject.Destroy};var fP={$ClassName:"TW3Touch",$Parent:TObject,$Init:function($){TObject.$Init($);$.tL=$.at=$.cu=$.dp=$.Uz=$.Qe=0;$.gi=undefined;$.zb=null},Cf:function(S,DXM){S.Uz=DXM.screenX;S.Qe=DXM.screenY;S.tL=DXM.clientX;S.at=DXM.clientY;S.cu=DXM.pageX;S.dp=DXM.pageY;S.gi=DXM.identifier;S.zb=HG.UN(DXM.target)},Destroy:TObject.Destroy};var vz={$ClassName:"TW3GestureData",$Parent:TObject,$Init:function($){TObject.$Init($);$.qj=$.lz=0},aH:function(S,ju){S.qj=Number(ju.rotation);S.lz=Number(ju.scale)},sn:function(S){vz.aH(S,event)},Destroy:TObject.Destroy};var F2={$ClassName:"TW3Borders",$Parent:yo,$Init:function($){yo.$Init($);$.QS=$.MW=$.IX=$.vY=null},Nu:function(S,rE){return $Is(rE,Kc)},kE:function(S,Fq){yo.kE(S,Fq);S.MW=BU.N3($New(BU),S,0);S.vY=BU.N3($New(BU),S,1);S.IX=BU.N3($New(BU),S,2);S.QS=BU.N3($New(BU),S,3);return S},Destroy:function(S){TObject.Free(S.MW);TObject.Free(S.vY);TObject.Free(S.IX);TObject.Free(S.QS);TObject.Destroy(S)},bb:function(S){return BU.Io(S.MW)+BU.BT(S.MW)+BU.Io(S.IX)+BU.BT(S.IX)},KY:function(S){return BU.Io(S.vY)+BU.BT(S.vY)+BU.Io(S.QS)+BU.BT(S.QS)},Destroy$:function($){return $.ClassType.Destroy($)},Nu$:function($){return $.ClassType.Nu.apply($.ClassType,arguments)},kE$:function($){return $.ClassType.kE.apply($.ClassType,arguments)}};var ep=["besNone","besSolid","besDotted","besDouble","besGroove","besInset","besOutset"];var YVt=["beLeft","beTop","beRight","beBottom"];var BU={$ClassName:"TW3Border",$Parent:TObject,$Init:function($){TObject.$Init($);$.gG=0;$.bP="";$.yl=null},N3:function(S,wR,uP){TObject.Create(S);S.yl=wR;S.gG=S.gG;switch(uP){case 0:S.bP="Left";break;case 1:S.bP="Top";break;case 2:S.bP="Right";break;case 3:S.bP="Bottom";break}
return S},BT:function(S){var R=0;var g7=undefined;var WQV="";R=0;g7=$As(S.yl.WZ,Kc).mE;if(g7){WQV="padding-"+S.bP;R=jk(g7,WQV)}
return R},Io:function(S){var R=0;var Hzk=undefined;var NQ="";R=0;Hzk=$As(S.yl.WZ,Kc).mE;if(Hzk){NQ="border-"+S.bP+"-Width";R=jk(Hzk,NQ)}
return R},VQ:function(S,JA){var Pd=undefined;var jv="";Pd=$As(S.yl.WZ,Kc).mE;if(Pd){jv="padding"+S.bP;Pd.style[jv]=sX.Wl(JA)}else{throw n6.Ud($New(At),"Method %s in class %s threw exception [%s]",["TW3Border.setPadding",TObject.ClassName(S.ClassType),"invalid owner handle error"])}},wP:function(S,BM){var i1=undefined;var AA="";i1=$As(S.yl.WZ,Kc).mE;if(i1){AA="border-"+S.bP+"-Width";DK(i1,AA,sX.Wl(BM))}else{throw n6.Ud($New(At),"Method %s in class %s threw exception [%s]",["TW3Border.setWidth",TObject.ClassName(S.ClassType),"invalid owner handle error"])}},Destroy:TObject.Destroy};var b5={$ClassName:"TW3CustomAnimation",$Parent:TObject,$Init:function($){TObject.$Init($);$.Jz=false;$.DJ=0;$.Br=null;$.Bi=null;$.qC=null;$.tR=null},it:function(S){if(S.Bi)S.Bi(S)},YL:function(S){b5.CP$(S);if(S.qC)S.qC(S)},Uh:function(S){TObject.Create(S);S.DJ=Yv;return S},Destroy:function(S){if(S.Jz&&(S.tR!==null)){try{b5.CP$(S)}catch($e){var PMd=$W($e)}}
TObject.Destroy(S)},jd:function(S,NT,eH,t55){if(NT){if(S.Jz){throw Exception.Create($New(Exception),"Transition is already in progress error")}else{S.tR=NT;S.Bi=eH;S.qC=t55;b5.vi$(S)}}else{throw Exception.Create($New(Exception),"Target-object was NIL error")}},CP:function(S){VJ(S.tR.mE,"animationend",S.Br,true);VJ(S.tR.mE,"webkitAnimationEnd",S.Br,true);S.Jz=false},AZ:function(S,vP){if(S.Jz){throw Exception.Create($New(Exception),"Duration cannot be altered while the transition is active error")}else S.DJ=vP},vi:function(S){S.Jz=true;S.Br=$Event0(S,b5.YL);Bs(S.tR.mE,"animationend",S.Br,true);Bs(S.tR.mE,"webkitAnimationEnd",S.Br,true);b5.it(S)},Destroy$:function($){return $.ClassType.Destroy($)},Uh$:function($){return $.ClassType.Uh($)},CP$:function($){return $.ClassType.CP($)},vi$:function($){return $.ClassType.vi($)}};var pN={$ClassName:"TW3NamedAnimation",$Parent:b5,$Init:function($){b5.$Init($);$.M6=""},vi:function(S){var kf="";b5.vi(S);DK(S.tR.mE,me("AnimationFillMode"),"both");kf=S.M6+" "+(S.DJ).toString()+"s linear";DK(S.tR.mE,me("Animation"),kf)},CP:function(S){b5.CP(S);if(S.tR!==null){S.tR.mE.style[me("Animation")]="none";S.tR.mE.style[me("AnimationFillMode")]="none"}},Destroy:b5.Destroy,Uh:b5.Uh,CP$:function($){return $.ClassType.CP($)},vi$:function($){return $.ClassType.vi($)}};var gX=["atEase","atLinear","atEaseIn","atEaseOut","atEaseInOut"];var mY=["ease","linear","ease-in","ease-out","ease-in-out"];var ma=["roYes","roNo","roOK","roCancel"];var CR=["aoYes","aoNo","aoYesNo","aoOK","aoCancel","aoOKCancel"];var Pg={$ClassName:"TW3AlertDialog",$Parent:Y7,$Init:function($){Y7.$Init($);$.Sa=$.t5=$.EH=$.rp=$.HD=null;$.IQ=0;$.T1=false},xQ:function(S){TObject.Free(S.rp);TObject.Free(S.EH);TObject.Free(S.HD);TObject.Free(S.Sa);Y7.xQ(S)},ia:function(S,vb){if(S.t5){switch(S.IQ){case 0:case 2:case 1:S.t5(S,1);break;case 3:case 4:case 5:S.t5(S,3);break}}},DM:function(S,Cho){if(S.t5){switch(S.IQ){case 0:case 2:case 1:S.t5(S,0);break;case 3:case 4:case 5:S.t5(S,2);break}}},KO:function(S){Y7.KO(S);S.HD=qD.Lg$($New(v9),S);jf.Mr(S.HD,120,42);S4.yp(S.HD,"OK");Y7.pz(S.HD,$Event1(S,Pg.DM));jf.za(S.HD,false);S.Sa=qD.Lg$($New(v9),S);jf.Mr(S.Sa,120,42);S4.yp(S.Sa,"Cancel");Y7.pz(S.Sa,$Event1(S,Pg.ia));jf.za(S.Sa,false);S.rp=qD.Lg$($New(gH),S);S.EH=qD.Lg$($New(gH),S)},OM:function(S){var iQd=0;var IB=0;var Usv=0;var BJ=0;jf.OM(S);IB=q8.ll(Y7.ob(S));iQd=q8.Se(Y7.ob(S));jf.CB(S.rp,8,8,IB-16,32);jf.CB(S.EH,8,jf.Zy(S.rp)+jf.gl(S.rp)+2,IB-16,92);if(S.U8&&S.T1){(IB-=16);if((1<<S.IQ&36)!=0)(IB-=8);if((1<<S.IQ&27)!=0){if((1<<S.IQ&9)!=0){BJ=jf.gl(S)-(jf.gl(S.HD)+20);jf.CB(S.HD,10,BJ,IB,jf.gl(S.HD))}else if((1<<S.IQ&18)!=0){BJ=jf.gl(S)-(jf.gl(S.Sa)+20);jf.CB(S.Sa,10,BJ,IB,jf.gl(S.Sa))}}else if((1<<S.IQ&36)!=0){BJ=iQd-(jf.gl(S.HD)+8);jf.CB(S.HD,8,BJ,$Div(IB,2),jf.gl(S.HD));Usv=q8.ll(Y7.ob(S))-($Div(IB,2));(Usv-=8);jf.CB(S.Sa,Usv,BJ,$Div(IB,2),jf.gl(S.Sa))}}},xA:function(S,iY,IV4,Y2e){if(!S.T1){Kc.hs(S);try{S.IQ=Y2e;gH.Y3(S.rp,iY);gH.Y3(S.EH,IV4);switch(S.IQ){case 0:case 3:jf.za(S.HD,true);jf.za(S.Sa,false);break;case 1:case 4:jf.za(S.Sa,true);jf.za(S.HD,false);break;case 2:case 5:jf.za(S.HD,true);jf.za(S.Sa,true);break}
switch(S.IQ){case 0:S4.yp(S.HD,"Yes");break;case 1:S4.yp(S.Sa,"No");break;case 3:S4.yp(S.HD,"OK");break;case 4:S4.yp(S.Sa,"Cancel");break;case 2:S4.yp(S.HD,"Yes");S4.yp(S.Sa,"No");break;case 5:S4.yp(S.HD,"OK");S4.yp(S.Sa,"Cancel");break}
Di.GD(Y7.bf(S.rp),"Helvetica, Arial, sans-serif");Di.lO(Y7.bf(S.rp),"bold");Di.Le(Y7.bf(S.rp),24);gH.gc(S.rp,1);Di.HH(Y7.bf(S.rp),16777215);S.rp.rg.mE.style["text-shadow"]="0 -1px 0 rgba(0,0,0,.8)";Di.Le(Y7.bf(S.EH),16);Di.GD(Y7.bf(S.EH),"Helvetica, Arial, sans-serif");gH.gc(S.EH,1);S.T1=true}finally{jf.BS(S);jf.Op(S);Kc.P5(S)}}},n8:function(S){Y7.n8(S)},Destroy:Kc.Destroy,MI:Y7.MI,xQ$:function($){return $.ClassType.xQ($)},KO$:function($){return $.ClassType.KO($)},Wa:Kc.Wa,dS:Kc.dS,n8$:function($){return $.ClassType.n8($)},Lg:Y7.Lg,OM$:function($){return $.ClassType.OM($)},MS:jf.MS,IK:jf.IK,DT:jf.DT,Oo:Y7.Oo,up:Y7.up,e8:Y7.e8,nT:Y7.nT,gk:Y7.gk,HO:Y7.HO,Be:Y7.Be,LY:Y7.LY};Pg.$Intf={ef:[Pg.xA]}
var S4={$ClassName:"TW3Button",$Parent:Y7,$Init:function($){Y7.$Init($);$.t3=0;$.Pw=false;$.Tg=null;$.Dx=null;$.lr=$.dc=0},Oo:function(S,lK){if(S.Pw){S4.Ta(S);Y7.Oo(S,lK)}else S4.Ta(S)},up:function(S,IP){Y7.up(S,IP);if(Y7.lc(S)&&((IP.keyCode==13)||(IP.keyCode==32)))S4.yn(S,true)},e8:function(S,Z5){Y7.up(S,Z5);switch(Z5.keyCode){case 13:case 32:if(Y7.lc(S)&&S.Pw)Y7.Oo$(S,Z5);break;case 27:S4.yn(S,false);break}},nT:function(S,RE){Y7.nT(S,RE);if(k5.jA()<S.t3)return;if(Y7.lc(S)&&(RE.button==0)){S4.yn(S,true);Y7.pm(S)}},gk:function(S,ZX){Y7.gk(S,ZX);if(Y7.XN(S))S4.yn(S,SD$Xm(jf.Jn(S),ZX.clientX,ZX.clientY))},HO:function(S,qE){Y7.HO(S,qE);if(Y7.XN(S)&&(qE.button==0))Y7.Oo$(S,qE)},FH:function(S){var R="";if(S.mE)R=""+S.mE.innerHTML;return R},KO:function(S){Y7.KO(S);jf.IK$(S,100);jf.MS$(S,32);S.mE.addEventListener("touchstart",function(LC){var w3=null;if(!Y7.lc(S))return;if(S.Pw)return;S4.yn(S,true);LC.stopPropagation();S.mE.addEventListener("touchmove",S.Dx,false);document.body.addEventListener("touchend",S.Tg,false);w3=LC.touches[0];S.lr=w3.clientX;S.dc=w3.clientY},false);S.Dx=function(cB){var RA=null;RA=cB.touches[0];if((Math.abs(RA.clientX-S.lr)>10)||(Math.abs(RA.clientY-S.dc)>10))S4.Ta(S)};S.Tg=function(sQ){Y7.Oo$(S,sQ);S.t3=k5.jA()+1000};Y7.zE(S,null);Y7.pM(S,null);Y7.V6(S,null);Y7.sW(S,null);Y7.Oz(S,null)},dS:function(S){return Hk("button")},Ta:function(S){S4.yn(S,false);if(Y7.XN(S)){Y7.xc(S)}else{S.mE.removeEventListener("touchmove",S.Dx,false);document.body.removeEventListener("touchend",S.Tg,false)}},yp:function(S,Kn){if(S.mE){S.mE.innerHTML=Kn}},yn:function(S,k8){if(S.Pw!=k8){S.Pw=k8;if(k8){DP(S.mE,Yg)}else yS(S.mE,Yg)}},Destroy:Kc.Destroy,MI:Y7.MI,xQ:Y7.xQ,KO$:function($){return $.ClassType.KO($)},Wa:Kc.Wa,dS$:function($){return $.ClassType.dS($)},n8:Y7.n8,Lg:Y7.Lg,OM:jf.OM,MS:jf.MS,IK:jf.IK,DT:jf.DT,Oo$:function($){return $.ClassType.Oo.apply($.ClassType,arguments)},up$:function($){return $.ClassType.up.apply($.ClassType,arguments)},e8$:function($){return $.ClassType.e8.apply($.ClassType,arguments)},nT$:function($){return $.ClassType.nT.apply($.ClassType,arguments)},gk$:function($){return $.ClassType.gk.apply($.ClassType,arguments)},HO$:function($){return $.ClassType.HO.apply($.ClassType,arguments)},Be:Y7.Be,LY:Y7.LY};var v9={$ClassName:"TW3AlertButton",$Parent:S4,$Init:function($){S4.$Init($)},Destroy:Kc.Destroy,MI:Y7.MI,xQ:Y7.xQ,KO:S4.KO,Wa:Kc.Wa,dS:S4.dS,n8:Y7.n8,Lg:Y7.Lg,OM:jf.OM,MS:jf.MS,IK:jf.IK,DT:jf.DT,Oo:S4.Oo,up:S4.up,e8:S4.e8,nT:S4.nT,gk:S4.gk,HO:S4.HO,Be:Y7.Be,LY:Y7.LY};var M1={$ClassName:"TW3LabelText",$Parent:Y7,$Init:function($){Y7.$Init($)},Destroy:Kc.Destroy,MI:Y7.MI,xQ:Y7.xQ,KO:Y7.KO,Wa:Kc.Wa,dS:Kc.dS,n8:Y7.n8,Lg:Y7.Lg,OM:jf.OM,MS:jf.MS,IK:jf.IK,DT:jf.DT,Oo:Y7.Oo,up:Y7.up,e8:Y7.e8,nT:Y7.nT,gk:Y7.gk,HO:Y7.HO,Be:Y7.Be,LY:Y7.LY};var gH={$ClassName:"TW3Label",$Parent:Y7,$Init:function($){Y7.$Init($);$.p6="";$.rg=null;$.YD=0},xQ:function(S){TObject.Free(S.rg);Y7.xQ(S)},KO:function(S){Y7.KO(S);S.rg=qD.Lg$($New(M1),S);DK(S.rg.mE,"text-overflow","ellipsis");DK(S.rg.mE,"-o-text-overflow","ellipsis");DK(S.rg.mE,"white-space","nowrap");DK(S.rg.mE,"overflow","hidden");DK(S.rg.mE,xn("vertical-align"),"middle");gH.Y3(S,"Label");jf.MS$(S,12)},dS:function(S){return Hk("fieldset")},OM:function(S){var zo=0;var Ha=0;var tow=0;var z3=0;jf.OM(S);Kc.hs(S.rg);jf.CB(S.rg,0,0,2,2);tow=ClampInt(q8.ll(Y7.ob(S.rg))+2,0,jf.zw(S));z3=ClampInt(q8.Se(Y7.ob(S.rg)),0,jf.ho(S));switch(S.YD){case 0:Ha=($Div(jf.ho(S),2))-($Div(z3,2));jf.CB(S.rg,0,Ha,tow,z3);break;case 1:zo=($Div(jf.zw(S),2))-($Div(tow,2));Ha=($Div(jf.ho(S),2))-($Div(z3,2));jf.CB(S.rg,zo,Ha,tow,z3);break;case 2:zo=jf.zw(S)-tow;Ha=($Div(jf.ho(S),2))-($Div(z3,2));jf.CB(S.rg,zo,Ha,tow,z3);break}
Kc.P5(S.rg)},Y3:function(S,Ie){if(Ie!=S.p6){Kc.hs(S);S.p6=Ie;Kc.xa(S.rg,Ie);jf.BS(S);jf.Op(S);Kc.P5(S)}},LY:function(S,xC){Y7.LY(S,xC);Y7.LY$(S.rg,xC)},gc:function(S,je){var Ac="";Kc.hs(S);S.YD=je;switch(je){case 0:Ac="left";break;case 1:Ac="center";break;case 2:Ac="right";break}
DK(S.rg.mE,"text-align",Ac);jf.BS(S);jf.Op(S);Kc.P5(S)},DT:function(S){return false},Destroy:Kc.Destroy,MI:Y7.MI,xQ$:function($){return $.ClassType.xQ($)},KO$:function($){return $.ClassType.KO($)},Wa:Kc.Wa,dS$:function($){return $.ClassType.dS($)},n8:Y7.n8,Lg:Y7.Lg,OM$:function($){return $.ClassType.OM($)},MS:jf.MS,IK:jf.IK,DT$:function($){return $.DT($)},Oo:Y7.Oo,up:Y7.up,e8:Y7.e8,nT:Y7.nT,gk:Y7.gk,HO:Y7.HO,Be:Y7.Be,LY$:function($){return $.ClassType.LY.apply($.ClassType,arguments)}};var QpM=["taLeft","taCenter","taRight"];var k5={$ClassName:"PerformanceTimer",$Parent:TObject,$Init:function($){TObject.$Init($)},iO:function(){if(window.performance&&performance.now){Jj=performance;Ls=true}else{Ls=false;if(!Date.now){Date.now=function(){return+(new Date)}};Jj=Date}},jA:function(){var R=0;if(!Jj)k5.iO();R=Number(Jj.now());return R},Destroy:TObject.Destroy};var Kz={$ClassName:"TForm1",$Parent:Kb,$Init:function($){Kb.$Init($);$.cC=$.jU=$.FQ=$.Is=$.yM=$.as=$.Gs=$.vS=$.Y9=$.DG=$.Jw=null},Md:function(S,jkc){YQ.g6(TJ.w6$($New(YQ),S.Is),parseInt(kT.pE(S.yM),10),parseInt(kT.pE(S.as),10),function(fr){gH.Y3(S.vS,("Result = "+fr.toString()))},function(kWZ){alert("Error calling the method!")})},rx:function(S,O2O){gH.Y3(S.vS,("Result = "+YQ.rI(TJ.w6$($New(YQ),S.Is),parseInt(kT.pE(S.yM),10),parseInt(kT.pE(S.as),10)).toString()))},Fl:function(S,ygu){if(S.Is===null){Df("127.0.0.1","User","synopse",function(DL){jf.za(S.Y9,true);jf.za(S.DG,true);jf.za(S.Jw,true);gH.Y3(S.Gs,"");S4.yp(S.FQ,"Disconnect");gH.Y3(S.vS,"");S.Is=DL},function(uv){alert("Impossible to connect to the server!")},888)}else{jf.za(S.Y9,false);S4.yp(S.FQ,"Server Connect");TObject.Free(S.Is);S.Is=null}},eZ:function(S){vG.eZ(S);kT.Ic(S.yM,7);kT.Ic(S.as,7)},KO:function(S){Y7.KO(S);vG.BW(S,"W3Form");qD.TC(S,"Form1");S.Y9=qD.Lg$($New(nM),S);jf.IK$(S.Y9,264);jf.za(S.Y9,false);jf.jI(S.Y9,96);jf.ze(S.Y9,40);jf.MS$(S.Y9,264);qD.TC(S.Y9,"PanelCompute");S.DG=qD.Lg$($New(gH),S.Y9);gH.Y3(S.DG,"A =");jf.IK$(S.DG,32);jf.jI(S.DG,32);jf.ze(S.DG,56);jf.MS$(S.DG,32);qD.TC(S.DG,"W3Label1");S.yM=qD.Lg$($New(kT),S.Y9);kT.b6(S.yM,"1");jf.IK$(S.yM,128);jf.jI(S.yM,32);jf.ze(S.yM,88);jf.MS$(S.yM,32);qD.TC(S.yM,"EditA");S.Jw=qD.Lg$($New(gH),S.Y9);gH.Y3(S.Jw,"B =");jf.IK$(S.Jw,32);jf.jI(S.Jw,72);jf.ze(S.Jw,56);jf.MS$(S.Jw,32);qD.TC(S.Jw,"W3Label2");S.as=qD.Lg$($New(kT),S.Y9);kT.b6(S.as,"1");jf.IK$(S.as,128);jf.jI(S.as,72);jf.ze(S.as,88);jf.MS$(S.as,32);qD.TC(S.as,"EditB");S.cC=qD.Lg$($New(S4),S.Y9);S4.yp(S.cC,"Compute Asynch");jf.IK$(S.cC,168);jf.jI(S.cC,112);jf.ze(S.cC,48);jf.MS$(S.cC,40);qD.TC(S.cC,"BtnComputeAsynch");Y7.pz(S.cC,$Event1(S,Kz.Md));S.vS=qD.Lg$($New(gH),S.Y9);jf.IK$(S.vS,152);jf.jI(S.vS,208);jf.ze(S.vS,64);jf.MS$(S.vS,32);qD.TC(S.vS,"LabelResult");S.jU=qD.Lg$($New(S4),S.Y9);S4.yp(S.jU,"Compute Synch");jf.IK$(S.jU,168);jf.jI(S.jU,160);jf.ze(S.jU,48);jf.MS$(S.jU,40);qD.TC(S.jU,"BtnComputeSynch");Y7.pz(S.jU,$Event1(S,Kz.rx));S.Gs=qD.Lg$($New(gH),S);gH.Y3(S.Gs,"<small>Project14ServerHttpWrapper should be running!");jf.IK$(S.Gs,376);jf.jI(S.Gs,16);jf.ze(S.Gs,24);jf.MS$(S.Gs,32);qD.TC(S.Gs,"LabelConnect");S.FQ=qD.Lg$($New(S4),S);S4.yp(S.FQ,"Server Connect");jf.IK$(S.FQ,176);jf.jI(S.FQ,48);jf.ze(S.FQ,40);jf.MS$(S.FQ,40);qD.TC(S.FQ,"BtnConnect");Y7.pz(S.FQ,$Event1(S,Kz.Fl))},OM:function(S){jf.OM(S)},Destroy:vG.Destroy,MI:Y7.MI,xQ:Y7.xQ,KO$:function($){return $.ClassType.KO($)},Wa:Kc.Wa,dS:Kc.dS,n8:vG.n8,Lg:vG.Lg,OM$:function($){return $.ClassType.OM($)},MS:jf.MS,IK:jf.IK,DT:jf.DT,Oo:Y7.Oo,up:Y7.up,e8:Y7.e8,nT:Y7.nT,gk:Y7.gk,HO:Y7.HO,Be:Y7.Be,LY:Y7.LY,eZ$:function($){return $.ClassType.eZ($)}};var nM={$ClassName:"TW3Panel",$Parent:Y7,$Init:function($){Y7.$Init($)},Destroy:Kc.Destroy,MI:Y7.MI,xQ:Y7.xQ,KO:Y7.KO,Wa:Kc.Wa,dS:Kc.dS,n8:Y7.n8,Lg:Y7.Lg,OM:jf.OM,MS:jf.MS,IK:jf.IK,DT:jf.DT,Oo:Y7.Oo,up:Y7.up,e8:Y7.e8,nT:Y7.nT,gk:Y7.gk,HO:Y7.HO,Be:Y7.Be,LY:Y7.LY};var St=["itNone","itColor","itDate","itDateTime","itDateTimeLocal","itEmail","itMonth","itNumber","itRange","itSearch","itTel","itTime","itUrl","itWeek","itPassword"];var kT={$ClassName:"TW3EditBox",$Parent:Y7,$Init:function($){Y7.$Init($)},UY:function(S){var R=false;var kD="";R=false;kD=YS(S.mE,"autocapitalize");if(kD.length>0)R=(kD).toLowerCase()=="on";return R},Wh:function(S){var R=false;var lb="";R=false;lb=YS(S.mE,"autocorrect");if(lb.length>0)R=(lb).toLowerCase()=="on";return R},fi:function(S){return YS(S.mE,"placeholder")},LO:function(S){var R=undefined;if(S.mE){R=S.mE.value}else{throw n6.Ud($New(n6),"Method %s in class %s threw exception [%s]",["TW3EditBox.getRange",TObject.ClassName(S.ClassType),"Invalid handle error"])}
return R},pE:function(S){return d7(S.mE,"value")},Zz:function(S){var R=0;var JI="";JI=(Bu(S.mE,"textAlign")).toLowerCase();if(JI=="left"){R=0}else if(JI=="center"){R=1}else if(JI=="right")R=2;return R},rn:function(S){var R=0;var HQi="";HQi=(YS(S.mE,"type")).toLowerCase();if(HQi==""){R=0}else if(HQi=="color"){R=1}else if(HQi=="date"){R=2}else if(HQi=="datetime"){R=3}else if(HQi=="datetime-local"){R=4}else if(HQi=="email"){R=5}else if(HQi=="month"){R=6}else if(HQi=="number"){R=7}else if(HQi=="range"){R=8}else if(HQi=="search"){R=9}else if(HQi=="tel"){R=10}else if(HQi=="time"){R=11}else if(HQi=="url"){R=12}else if(HQi=="week"){R=13}else if(HQi=="password")R=14;return R},dS:function(S){var R=undefined;R=Hk("input");if(R)uz(R,"type","text");return R},zX:function(S,lt){if(S.mE){if(lt){uz(S.mE,"autocapitalize","on")}else uz(S.mE,"autocapitalize","off")}else{throw n6.Ud($New(n6),"Method %s in class %s threw exception [%s]",["TW3EditBox.setAutoCapitalize",TObject.ClassName(S.ClassType),"Invalid handle error"])}},zs:function(S,W6){if(S.mE){if(W6){uz(S.mE,"autocorrect","on")}else uz(S.mE,"autocorrect","off")}else{throw n6.Ud($New(n6),"Method %s in class %s threw exception [%s]",["TW3EditBox.setAutoCorrect",TObject.ClassName(S.ClassType),"Invalid handle error"])}},UE:function(S,CL){if(S.mE){uz(S.mE,"placeholder",CL)}else{throw n6.Ud($New(n6),"Method %s in class %s threw exception [%s]",["TW3EditBox.setPlaceHolder",TObject.ClassName(S.ClassType),"Invalid handle error"])}},zD:function(S,mj){if(S.mE){S.mE.value=mj}else{throw n6.Ud($New(n6),"Method %s in class %s threw exception [%s]",["TW3EditBox.setRange",TObject.ClassName(S.ClassType),"Invalid handle error"])}},b6:function(S,uH){EY(S.mE,"value",uH)},he:function(S,EC){var ou="";switch(EC){case 0:ou="left";break;case 1:ou="center";break;case 2:ou="right";break}
if(S.mE){DK(S.mE,"textAlign",ou)}else{throw n6.Ud($New(n6),"Method %s in class %s threw exception [%s]",["TW3EditBox.setTextAlign",TObject.ClassName(S.ClassType),"Invalid handle error"])}},Ic:function(S,pG){var b7="";if(S.mE){switch(pG){case 0:b7="";break;case 1:b7="color";break;case 2:b7="date";break;case 3:b7="datetime";break;case 4:b7="datetime-local";break;case 5:b7="email";break;case 6:b7="month";break;case 7:b7="number";break;case 8:b7="range";break;case 9:b7="search";break;case 10:b7="tel";break;case 11:b7="time";break;case 12:b7="url";break;case 13:b7="week";break;case 14:b7="password";break}
uz(S.mE,"type",b7)}else{throw n6.Ud($New(n6),"Method %s in class %s threw exception [%s]",["TW3EditBox.setType",TObject.ClassName(S.ClassType),"Invalid handle error"])}},n8:function(S){uz(S.mE,"autocorrect","off");uz(S.mE,"autocapitalize","off");uz(S.mE,"placeholder","");DK(S.mE,"textAlign","left");Y7.n8(S)},Destroy:Kc.Destroy,MI:Y7.MI,xQ:Y7.xQ,KO:Y7.KO,Wa:Kc.Wa,dS$:function($){return $.ClassType.dS($)},n8$:function($){return $.ClassType.n8($)},Lg:Y7.Lg,OM:jf.OM,MS:jf.MS,IK:jf.IK,DT:jf.DT,Oo:Y7.Oo,up:Y7.up,e8:Y7.e8,nT:Y7.nT,gk:Y7.gk,HO:Y7.HO,Be:Y7.Be,LY:Y7.LY};function ii(g3){return encodeURIComponent(g3)};function qf(NvS){var R="";var sa=0;var ib=0;var eR="";var tK="";var Yz=undefined;R="";Yz=NvS;sa=parseInt(Yz.length,10);if(sa>1){var $tO;for(ib=0,$tO=(sa-1)>>>1;ib<=$tO;ib++){eR=""+Yz[ib*2];tK=""+Yz[(ib*2)+1];R=R+"&"+eR+"="+ii(tK)}}
if(R!=""){R=$StrSet(R,1,"?")}
return R};function iw(Pgl){var R={v:0};try{var yb=0;var xz={};xz.v=0;yb=($Div(Pgl,67108864))&4095;if((yb==0)||(!vm(yb,(1+(Pgl>>>22))&15,(1+(Pgl>>>17))&31,R)))R.v=0;if(((Pgl&131071)!=0)&&K1((Pgl>>>12)&31,(Pgl>>>6)&63,Pgl&63,0,xz))R.v+=xz.v}finally{return R.v}};var T7={$ClassName:"TSQLTableJSON",$Parent:TObject,$Init:function($){TObject.$Init($);$.eq=$.bK=$.Yj=0;$.ht=[];$.tw=0;$.Qz=[]},xI:function(S,w66){var eY=undefined;var WB=undefined;var OD=0;var IE=0;eY=JSON.parse(w66);switch(fn(eY)){case 1:S.bK=parseInt(eY.fieldCount,10);WB=eY.values;if(fn(WB)!=2)return S;S.Qz=WB;OD=S.Qz.length;if((OD<S.bK)||((OD%S.bK)!=0))return S;var $tP;for(IE=0,$tP=S.bK;IE<$tP;IE++){S.ht.push(""+S.Qz[IE])}
S.Yj=($Div(OD,S.bK))-1;break;case 2:S.Qz=eY;S.Yj=S.Qz.length;break}
if(S.Yj>0)S.eq=1;return S},A6:function(S,w4,COV){var R=false;var We=null;R=false;if((w4===null)||(S.Yj==0))return R;if(COV){S.eq=1}else if(S.eq>S.Yj)return R;if(S.ht.length>0){R=VL.dN(w4,S.ht,S.Qz,S.eq*S.bK)}else{We=Mv.Et($New(Mv),S.Qz[S.eq-1]);R=VL.dN(w4,We.dY,We.RS,0)}
++S.eq;if(R)w4.cg=S.tw;return R},Destroy:TObject.Destroy};var Ep={$ClassName:"TSQLRestServerAuthentication",$Parent:TObject,$Init:function($){TObject.$Init($);$.WK=0;$.Bc="";$.ey=null},eS:function(S,Xt,PRB,O6l){S.ey=VL.Gm($New(Ec));S.ey.oQ=Xt;if(O6l){S.ey.B6=PRB}else Ec.ay(S.ey,PRB);return S},Destroy:function(S){TObject.Free(S.ey);TObject.Destroy(S)},vL:function(S,Qo){S.WK=Qo;S.Bc=(IntToHex(Qo,8)).toLowerCase()},Destroy$:function($){return $.ClassType.Destroy($)},Ur$:function($){return $.ClassType.Ur.apply($.ClassType,arguments)},gN$:function($){return $.ClassType.gN.apply($.ClassType,arguments)}};var Hb={$ClassName:"TSQLRestServerAuthenticationDefault",$Parent:Ep,$Init:function($){Ep.$Init($);$.dz7=0},Ur:function(S,Ni){var R="";var Jx="";var Vk3="";var WG="";if(S.ey.oQ=="")return R;Jx=nL.Tz(Ni,"auth",["UserName",S.ey.oQ],VL,0);if(Jx=="")return R;Vk3=LT(([QR().substr(0,16)].slice()));WG=LT(([Ni.Rg.qH,Jx,Vk3,S.ey.oQ,S.ey.B6].slice()));R=nL.Tz(Ni,"auth",["UserName",S.ey.oQ,"Password",WG,"ClientNonce",Vk3],VL,0);S.dz7=Vv(Vv(0,R),S.ey.B6);return R},gN:function(S,tEt,Us){var R="";var ZCY="";ZCY=(IntToHex(Trunc(Now()*86400),8)).toLowerCase();R=S.Bc+ZCY+(IntToHex(Vv(Vv(S.dz7,ZCY),Us),8)).toLowerCase();return R},Destroy:Ep.Destroy,Ur$:function($){return $.ClassType.Ur.apply($.ClassType,arguments)},gN$:function($){return $.ClassType.gN.apply($.ClassType,arguments)}};var RG={$ClassName:"TSQLRestRoutingAbstract",$Parent:TObject,$Init:function($){TObject.$Init($)},Destroy:TObject.Destroy,Sc$:function($){return $.Sc.apply($.ClassType,arguments)}};var il={$ClassName:"TSQLRestRoutingREST",$Parent:RG,$Init:function($){RG.$Init($)},Sc:function(S,DRR,Fx,Tjk,kbh,au4){if(kbh!=""){DRR.v=DRR.v+"."+Fx+"/"+kbh}else DRR.v=DRR.v+"."+Fx;au4.v=Tjk},Destroy:TObject.Destroy,Sc$:function($){return $.Sc.apply($.ClassType,arguments)}};var j3={$ClassName:"TSQLRest",$Parent:TObject,$Init:function($){TObject.$Init($);$.Dw=0;$.YC=0;$.Rg=null;$.UX=false;$.Uy=0;$.lJ=null},ot:function(S,KBT,p4){TObject.Create(S);S.Rg=KBT;S.UX=p4;S.lJ=il;return S},Destroy:function(S){TObject.Destroy(S);if(S.UX)TObject.Free(S.Rg)},h3:function(S){var R=0;if(S.Uy==0){R=0}else R=dV(Now()+S.Uy);return R},Gu:function(S,av,N8,Of){var R=null;var AND="";AND=mA.aX(am.gZ(S.Rg,av),N8);if(Of!="")AND=AND+" where "+Of;R=j3.ny$(S,AND);return R},dm:function(S,JF,WUQ,ERq,sg3,DeR){var R=null;var w7X="";w7X=xt(ERq,sg3);if(DeR)w7X+=" limit 1";R=j3.Gu(S,JF,WUQ,w7X);return R},tx:function(S,fw,qYV,rfY,Nwa){var R=false;var GED=null;GED=j3.dm(S,VL.vA(Nwa),fw,qYV,rfY,true);if(GED===null){R=false}else{try{R=T7.A6(GED,Nwa,false)}finally{TObject.Free(GED)}}
return R},E4:function(S,B9){var R=false;var OUI={};OUI.v=0;if(gV(B9,OUI)){S.Uy=iw(OUI.v)-Now();if(S.Uy==0)S.Uy=1E-6;R=true}else R=false;return R},Destroy$:function($){return $.ClassType.Destroy($)},YB$:function($){return $.ClassType.YB.apply($.ClassType,arguments)},xm$:function($){return $.ClassType.xm.apply($.ClassType,arguments)},Mk$:function($){return $.ClassType.Mk.apply($.ClassType,arguments)},ny$:function($){return $.ClassType.ny.apply($.ClassType,arguments)},vZ$:function($){return $.ClassType.vZ.apply($.ClassType,arguments)},cb$:function($){return $.ClassType.cb.apply($.ClassType,arguments)}};var nL={$ClassName:"TSQLRestClientURI",$Parent:j3,$Init:function($){j3.$Init($);$.b4=null;$.x3=false;$.h6=[]},Dk:function(S,gUa,Ey,trg,nP,w93){trg.WR=nL.Q2(S,gUa,nP,w93)+qf(Ey);trg.G3="GET";nL.cj(S,trg)},Tz:function(S,h5,jk6,jx,sS){var R="";var OE={nI:"",UO:"",G3:"",nN:null,GZ:null,WnB:"",iZ:"",hx:0,WR:"",Oa:undefined};var iOU={};iOU.v=0;nL.Dk(S,h5,jk6,OE,jx,sS);R=""+kJ(OE,iOU);return R},BF:function(S,Sz,riR,p6T,qy,Cl,udt){var AU={nI:"",UO:"",G3:"",nN:null,GZ:null,WnB:"",iZ:"",hx:0,WR:"",Oa:undefined};nL.AT(S,AU,function(uZ){var M4r={};M4r.v=0;var oR=undefined;var tv=null;if(!Cl)return;oR=kJ(AU,M4r);if(TD(oR)){if((Sz.Mi==2)&&(M4r.v!=0))$As(Sz,nt).th=M4r.v.toString();if(!p6T){Cl([])}else{tv=Mv.Et($New(Mv),oR);if((tv.PM==2)&&(Mv.kQ(tv)==p6T)){Cl(tv.RS)}else if(udt)udt(S)}}else if(udt)udt(S)},udt,function(){return(AU.hx==200)&&(AU.WnB!="")});nL.EP(S,AU,Sz,riR,JSON.stringify(qy))},EP:function(S,D3U,o6D,CIr,TJz){var AH={};AH.v="";var Q6J="";var PaC={};PaC.v="";AH.v=S.Rg.qH+"/"+o6D.Dj;if(o6D.Mi==2)Q6J=$As(o6D,nt).th;RG.Sc$(S.lJ,AH,CIr,TJz,Q6J,PaC);D3U.WR=AH.v;D3U.nI=PaC.v;D3U.G3="POST";nL.cj(S,D3U)},ri:function(S,oQL,elb,dj,iI){var R=[];var C7={nI:"",UO:"",G3:"",nN:null,GZ:null,WnB:"",iZ:"",hx:0,WR:"",Oa:undefined};var Sym=undefined;var x1={};x1.v=0;var EnY=null;nL.EP(S,C7,oQL,elb,JSON.stringify(iI));Sym=kJ(C7,x1);if(!TD(Sym)){throw n6.Ud($New(VK),"Error calling %s.%s - returned status %d",[oQL.wv,elb,C7.hx])}
if((oQL.Mi==2)&&(x1.v!=0))$As(oQL,nt).th=x1.v.toString();if(!dj)return R;EnY=Mv.Et($New(Mv),Sym);if((EnY.PM==2)&&(Mv.kQ(EnY)==dj)){R=EnY.RS}else{throw n6.Ud($New(VK),"Error calling %s.%s - received %d parameters (expected %d)",[oQL.wv,elb,Mv.kQ(EnY),dj])}
return R},Aj:function(S,AFt,wZ){var TkK={nI:"",UO:"",G3:"",nN:null,GZ:null,WnB:"",iZ:"",hx:0,WR:"",Oa:undefined};nL.AT(S,TkK,AFt,wZ,function(){return(TkK.hx==200)&&j3.E4(S,TkK.WnB)});nL.Dk(S,"TimeStamp",[],TkK,VL,0)},YB:function(S,bp,sTG){var R=false;var fZ={nI:"",UO:"",G3:"",nN:null,GZ:null,WnB:"",iZ:"",hx:0,WR:"",Oa:undefined};R=false;if(sTG<=0)return R;fZ.WR=nL.Eo(S,am.FV(S.Rg,bp),sTG);fZ.G3="DELETE";nL.cj(S,fZ);if(fZ.hx==200)R=true;return R},Destroy:function(S){nL.Rf(S);j3.Destroy(S)},xm:function(S,c5,vme){var R=0;var II9={nI:"",UO:"",G3:"",nN:null,GZ:null,WnB:"",iZ:"",hx:0,WR:"",Oa:undefined};var Gl6="";var e0d=0;R=0;II9.WR=nL.Eo(S,c5,0);II9.G3="POST";II9.nI=vme;nL.cj(S,II9);if(II9.hx!=201)return R;Gl6=A7E(II9,"location");for(e0d=Gl6.length;e0d>=1;e0d--){if(!{f:function(){var v$=Gl6.charCodeAt(e0d-1);return((v$>=48)&&(v$<=57))}}.f()){R=StrToIntDef(Gl6.substr((e0d+1)-1),0);break}}
return R},Mk:function(S,BdE,h4,tV){var R=0;var Wk=undefined;var nbj={nI:"",UO:"",G3:"",nN:null,GZ:null,WnB:"",iZ:"",hx:0,WR:"",Oa:undefined};var cZ=0;nbj.WR=nL.Q2(S,"Batch",BdE,0);nbj.G3="POST";nbj.nI=h4;nL.cj(S,nbj);R=nbj.hx;if(R!=200)return R;tV.v.length=0;if(nbj.WnB=="[\"OK\"]"){var $tQ;for(cZ=0,$tQ=S.Dw;cZ<$tQ;cZ++){tV.v.push(200)}}else{Wk=JSON.parse(nbj.WnB);if((fn(Wk)==2)&&(Wk.length==S.Dw)){var $tR;for(cZ=0,$tR=S.Dw;cZ<$tR;cZ++){tV.v.push(parseInt(Wk[cZ],10))}}}
return R},ny:function(S,uJ){var R=null;var cM6={nI:"",UO:"",G3:"",nN:null,GZ:null,WnB:"",iZ:"",hx:0,WR:"",Oa:undefined};var Aq="";R=null;if(S===null)return R;cM6.WR=S.Rg.qH+qf(["sql",uJ]);cM6.G3="GET";nL.cj(S,cM6);if(cM6.hx==200){Aq=cM6.WnB;R=T7.xI($New(T7),Aq);R.tw=S.YC}
return R},vZ:function(S,IM,OPc,ko){var R=false;var KxC={nI:"",UO:"",G3:"",nN:null,GZ:null,WnB:"",iZ:"",hx:0,WR:"",Oa:undefined};KxC.WR=nL.Eo(S,IM,OPc);KxC.G3="PUT";KxC.nI=ko;nL.cj(S,KxC);R=KxC.hx==200;return R},xO:function(S,XVJ){var R="";R=S.Rg.qH;if((XVJ!==null)&&(XVJ!=VL))R=R+"/"+am.gZ(S.Rg,XVJ).xH;return R},Q2:function(S,B2x,xmo,Egz){var R="";R=nL.xO(S,xmo);if(Egz>0)R=R+"/"+Egz.toString();R=R+"/"+B2x;return R},Eo:function(S,lfD,Tpi){var R="";R=S.Rg.qH+"/"+S.Rg.De[lfD].xH;if(Tpi>0)R=R+"/"+Tpi.toString();return R},fz:function(S,eC){var jcl=0;if(eC.iZ=="")return;jcl=StrToIntDef(A7E(eC,"Server-InternalState"),0);if(jcl>S.YC)S.YC=jcl},cb:function(S,EW,Aa,eL2){var R=false;var mwz=0;var Om={nI:"",UO:"",G3:"",nN:null,GZ:null,WnB:"",iZ:"",hx:0,WR:"",Oa:undefined};var oE="";mwz=am.FV(S.Rg,VL.vA(Aa));Om.WR=nL.Eo(S,mwz,EW);if(eL2){Om.G3="LOCK"}else Om.G3="GET";nL.cj(S,Om);R=Om.hx==200;if(R){oE=Om.WnB;VL.PR(Aa,oE);Aa.cg=S.YC}
return R},Rf:function(S){var eVo={nI:"",UO:"",G3:"",nN:null,GZ:null,WnB:"",iZ:"",hx:0,WR:"",Oa:undefined};if((S!==null)&&(S.b4!==null)){try{nL.Dk(S,"auth",["UserName",S.b4.ey.oQ,"Session",S.b4.WK],eVo,VL,0)}finally{TObject.Free(S.b4);S.b4=null}}},AT:function(S,dl,zrc,Da,Z9){if(zrc)dl.GZ=function(){if(dl.Oa.readyState==4){nL.fz(S,dl);if(Z9()){zrc(S)}else if(Da)Da(S)}};if(Da)dl.nN=function(){Da(S)}},Up:function(S,CF,DgL,hv,K9){var R={v:false};try{var ZLY="";var GGb={};GGb.v="";var E3Q={};E3Q.v=0;R.v=false;if(S.b4!==null)nL.Rf(S);if(!CF)return R.v;S.b4=Ep.eS($NewDyn(CF,""),DgL,hv,K9);try{ZLY=Ep.Ur$(S.b4,S);E3Q.v=1;cG(ZLY,E3Q,GGb,"+");if(QW(GGb.v,E3Q)&&(E3Q.v>0)){Ep.vL(S.b4,E3Q.v);R.v=true}else{TObject.Free(S.b4);S.b4=null}}catch($e){TObject.Free(S.b4);S.b4=null}}finally{return R.v}},cj:function(S,xX9){var fq="";xX9.hx=503;if(S===null)return;if((S.b4!==null)&&(S.b4.WK!=0)){if(!(xX9.WR.indexOf("?")+1)){fq="?session_signature="}else fq="&session_signature=";xX9.WR=xX9.WR+fq+Ep.gN$(S.b4,S,xX9.WR)}
nL.Xc$(S,xX9);nL.fz(S,xX9)},Destroy$:function($){return $.ClassType.Destroy($)},YB$:function($){return $.ClassType.YB.apply($.ClassType,arguments)},xm$:function($){return $.ClassType.xm.apply($.ClassType,arguments)},Mk$:function($){return $.ClassType.Mk.apply($.ClassType,arguments)},ny$:function($){return $.ClassType.ny.apply($.ClassType,arguments)},vZ$:function($){return $.ClassType.vZ.apply($.ClassType,arguments)},cb$:function($){return $.ClassType.cb.apply($.ClassType,arguments)},Xc$:function($){return $.ClassType.Xc.apply($.ClassType,arguments)}};var a9={$ClassName:"TSQLRestClientHTTP",$Parent:nL,$Init:function($){nL.$Init($);$.Vm=null;$.cy="";$.r9=0;$.tE={QM:"",Pm:0,M5:false}},ks:function(S,eL,FC,B2,EAQ,kD8){j3.ot(S,B2,EAQ);S.tE.QM=eL;S.tE.Pm=FC;S.tE.M5=kD8;return S},Destroy:function(S){nL.Destroy(S);TObject.Free(S.b4);TObject.Free(S.Vm)},Xc:function(S,bxA){var zVa="";var Gh=0;zVa=v3w(bxA.UO,"content-type: ");if(zVa==""){if(S.x3){zVa="application/json; charset=UTF-8"}else zVa="text/plain";bxA.UO=Trim$_String_(bxA.UO+"\r\ncontent-type: "+zVa)}
if(S.cy!="")bxA.UO=Trim$_String_(bxA.UO+S.cy);for(Gh=0;Gh<=1;Gh++){if(S.Vm===null){try{S.Vm=mZ.ZS($NewDyn(d9(),""),S.tE)}catch($e){var aZ=$W($e);TObject.Free(S.Vm);S.Vm=null}}
if(S.Vm===null){bxA.hx=501;return}
try{mZ.rN$(S.Vm,bxA,zVa,S.r9);break}catch($e){var gI=$W($e);TObject.Free(S.Vm);S.Vm=null}}},Destroy$:function($){return $.ClassType.Destroy($)},YB:nL.YB,xm:nL.xm,Mk:nL.Mk,ny:nL.ny,vZ:nL.vZ,cb:nL.cb,Xc$:function($){return $.ClassType.Xc.apply($.ClassType,arguments)}};var VL={$ClassName:"TSQLRecord",$Parent:TObject,$Init:function($){TObject.$Init($);$.DA=null;$.QE=0;$.cg=0},Cr:function(S){return CX.Cu($New(CX),([]),([]))},qi:function(S,z1,hy,etN,Msg){VL.Gm(S);if(z1!==null)j3.tx(z1,etN,hy,Msg,S);return S},a3:function(S,xJ,MXL,scg){VL.Gm(S);if(xJ!==null)j3.cb$(xJ,MXL,S,scg);return S},Gm:function(S){return S},xL:function(S,Li7,kI8,mAR,Jh){VL.Gm(S);S.DA=j3.dm(Li7,VL.vA(S),kI8,mAR,Jh,false);return S},Destroy:function(S){TObject.Free(S.DA);TObject.Destroy(S)},PR:function(S,VV){var R=false;var VF=null;var Ou=null;if((S===null)||(VV=="")){R=false}else if(s2(VV,"{\"fieldCount\":")){Ou=T7.xI($New(T7),VV);try{R=T7.A6(Ou,S,false)}finally{TObject.Free(Ou)}}else{VF=Mv.Iw($New(Mv),VV);R=VL.dN(S,VF.dY,VF.RS,0)}
return R},dN:function(S,p5z,tgI,Za){var R=false;var Qa=0;var IT={};IT.v=null;var oCR=null;R=false;if((Za+p5z.length)>tgI.length)return R;oCR=VL.Xu(S.ClassType);var $tS;for(Qa=0,$tS=p5z.length;Qa<$tS;Qa++){if(TX(oCR.zt,p5z[Qa],IT)){VL.k6$(S,IT.v.Ig4,tgI[Qa+Za])}else return R}
R=true;return R},zU:function(S,Im){var R=undefined;switch(Im){case 0:R=S.QE;break}
return R},Xu:function(S){var R=null;var R9S=undefined;R9S=SI[TObject.ClassName(S)];if(TD(R9S)){R=R9S}else{R=VL.Cr$(S);SI[TObject.ClassName(S)]=R}
return R},vA:function(S){var R=null;if(S===null){R=null}else R=$AsClass(TObject.ClassType(S.ClassType),VL);return R},k6:function(S,LYw,Irq){switch(LYw){case 0:S.QE=parseInt(Irq,10);break}},Destroy$:function($){return $.ClassType.Destroy($)},Cr$:function($){return $.Cr($)},zU$:function($){return $.ClassType.zU.apply($.ClassType,arguments)},k6$:function($){return $.ClassType.k6.apply($.ClassType,arguments)}};var HQ={$ClassName:"TSQLModelInfoPropInfo",$Parent:TObject,$Init:function($){TObject.$Init($);$.NX="";$.I9=0;$.Ig4=0},Destroy:TObject.Destroy};var mA={$ClassName:"TSQLModelInfo",$Parent:TObject,$Init:function($){TObject.$Init($);$.hN=[0,0,0,0,0,0,0,0,0];$.SQ=[0,0,0,0,0,0,0,0,0];$.dO=[0,0,0,0,0,0,0,0,0];$.bJ=[0];$.HB=false;$.LH=[0,0,0,0,0,0,0,0,0];$.qh=[0,0,0,0,0,0,0,0,0];$.xH="";$.xX=[];$.ww=undefined;$.jW=[0,0,0,0,0,0,0,0,0];$.g5=[0,0,0,0,0,0,0,0,0];$.tP=null;$.WD=[0,0,0,0,0,0,0,0,0]},p2:function(S,ihx){var eTN=0;var Fi=0;var Wt=null;S.tP=ihx;S.xH=Av(S.tP);Wt=VL.Xu(ihx);S.xX=Wt.tF;S.ww=Wt.zt;var $tT;for(eTN=0,$tT=(S.xX.length-1);eTN<=$tT;eTN++){$SetInc(S.hN,eTN,0,256);Fi=S.xX[eTN].I9;$SetInc(S.bJ,Fi,0,8);if(Fi==3){$SetInc(S.SQ,eTN,0,256)}else{$SetInc(S.g5,eTN,0,256)}
switch(Fi){case 4:$SetInc(S.qh,eTN,0,256);$SetInc(S.LH,eTN,0,256);S.HB=true;break;case 5:$SetInc(S.dO,eTN,0,256);$SetInc(S.LH,eTN,0,256);S.HB=true;break;case 6:$SetInc(S.jW,eTN,0,256);break;case 7:$SetInc(S.WD,eTN,0,256);break}}
return S},c2:function(S,EU){var R={v:""};try{var Xv1=0;R.v="";var $tU;for(Xv1=0,$tU=S.xX.length;Xv1<$tU;Xv1++){if($SetIn(EU,Xv1,0,256))R.v=R.v+S.xX[Xv1].NX+","}
if(R.v!="")SetLength(R,R.v.length-1)}finally{return R.v}},cD:function(S,o1g,Wcd){var R=[0,0,0,0,0,0,0,0,0];var XHO={};XHO.v=0;var xkl=0;var iEX={};iEX.v="";var kMB={};kMB.v=null;if(o1g==""){R=S.g5.slice(0)}else if(o1g=="*"){R=S.hN.slice(0)}else{R=Q4.slice(0);XHO.v=1;while(cG(o1g,XHO,iEX,",")){if(TX(S.ww,iEX.v,kMB)){$SetInc(R,kMB.v.Ig4,0,256)}}
if(Wcd&&$SetIn(S.bJ,4,0,8)){var $tV;for(xkl=1,$tV=S.xX.length;xkl<$tV;xkl++){if($SetIn(S.qh,xkl,0,256)){$SetInc(R,xkl,0,256)}}}}
return R},aX:function(S,R3){return"select "+mA.c2(S,mA.cD(S,R3,false))+" from "+S.xH},Destroy:TObject.Destroy};var am={$ClassName:"TSQLModel",$Parent:TObject,$Init:function($){TObject.$Init($);$.De=[];$.qH=""},f4:function(S,BZ,HK){var n4=0;var $tW;for(n4=0,$tW=BZ.length;n4<$tW;n4++){S.De.push(mA.p2($New(mA),BZ[n4]))}
if(HK!=""){if(HK.charAt(HK.length-1)=="/"){S.qH=HK.substr(0,(HK.length-1))}else S.qH=HK}
return S},tg:function(S,Xk4){var R=0;if(S!==null){var $tX;for(R=0,$tX=S.De.length;R<$tX;R++){if(S.De[R].tP==Xk4)return R}}
R=-1;return R},FV:function(S,wN){var R=0;if(S===null){R=-1}else R=am.tg(S,wN);if(R<0){throw n6.Ud($New(yy),"%s should be part of the Model",[TObject.ClassName(wN)])}
return R},gZ:function(S,RMa){return S.De[am.FV(S,RMa)]},Destroy:TObject.Destroy};var I7=["sftUnspecified","sftDateTime","sftTimeLog","sftBlob","sftModTime","sftCreateTime","sftRecord","sftVariant"];var Yk={0:"Low",255:"High"};var Ec={$ClassName:"TSQLAuthUser",$Parent:VL,$Init:function($){VL.$Init($);$.lN=undefined;$.hZ=$.oQ=$.B6="";$.d1=0},Cr:function(S){return CX.Cu($New(CX),(["Data","Group","LogonName","DisplayName","PasswordHashHexa"].slice()),([3].slice()))},zU:function(S,pLd){var R=undefined;switch(pLd){case 0:R=S.QE;break;case 1:R=S.lN;break;case 2:R=S.d1;break;case 3:R=S.oQ;break;case 4:R=S.hZ;break;case 5:R=S.B6;break}
return R},ay:function(S,X4){S.B6=LT((["salt",X4].slice()))},k6:function(S,Ix,LR){switch(Ix){case 0:S.QE=parseInt(LR,10);break;case 1:S.lN=LR;break;case 2:S.d1=parseInt(LR,10);break;case 3:S.oQ=""+LR;break;case 4:S.hZ=""+LR;break;case 5:S.B6=""+LR;break}},Destroy:VL.Destroy,Cr$:function($){return $.Cr($)},zU$:function($){return $.ClassType.zU.apply($.ClassType,arguments)},k6$:function($){return $.ClassType.k6.apply($.ClassType,arguments)}};var iH={$ClassName:"TSQLAuthGroup",$Parent:VL,$Init:function($){VL.$Init($);$.Iy=$.Nl="";$.OY=0},Cr:function(S){return CX.Cu($New(CX),(["Ident","SessionTimeOut","AccessRights"].slice()),([]))},zU:function(S,MZE){var R=undefined;switch(MZE){case 0:R=S.QE;break;case 1:R=S.Nl;break;case 2:R=S.OY;break;case 3:R=S.Iy;break}
return R},k6:function(S,mj7,SL){switch(mj7){case 0:S.QE=parseInt(SL,10);break;case 1:S.Nl=""+SL;break;case 2:S.OY=parseInt(SL,10);break;case 3:S.Iy=""+SL;break}},Destroy:VL.Destroy,Cr$:function($){return $.Cr($)},zU$:function($){return $.ClassType.zU.apply($.ClassType,arguments)},k6$:function($){return $.ClassType.k6.apply($.ClassType,arguments)}};var HU=["sicSingle","sicShared","sicClientDriven","sicPerSession","sicPerUser","sicPerGroup","sicPerThread"];var TJ={$ClassName:"TServiceClientAbstract",$Parent:TObject,$Init:function($){TObject.$Init($);$.KP=null;$.pD=$.wv=$.Dj="";$.Mi=0},w6:function(S,eNB){var f0Z={nI:"",UO:"",G3:"",nN:null,GZ:null,WnB:"",iZ:"",hx:0,WR:"",Oa:undefined};var hzh={};hzh.v=0;var idS=undefined;var gML="";if((S.wv=="")||(S.Dj=="")){throw n6.Ud($New(VK),"Overriden %s.Create should have set properties",[TObject.ClassName(S.ClassType)])}
if(eNB===null){throw n6.Ud($New(VK),"%s.Create(nil)",[TObject.ClassName(S.ClassType)])}
S.KP=eNB;nL.EP(S.KP,f0Z,S,"_contract_","[]");idS=kJ(f0Z,hzh);if(fn(idS)==2){gML=""+idS[0]}else gML=""+idS.contract;if(gML!=S.pD){throw n6.Ud($New(VK),"Invalid contract \"%s\" for %s: expected \"%s\"",[gML,TObject.ClassName(S.ClassType),S.pD])}
return S},Destroy:TObject.Destroy,w6$:function($){return $.ClassType.w6.apply($.ClassType,arguments)}};var nt={$ClassName:"TServiceClientAbstractClientDriven",$Parent:TJ,$Init:function($){TJ.$Init($);$.th=""},w6:function(S,tWq){if(S.Mi!=2){throw n6.Ud($New(VK),"Overriden %s.Create should have set sicClientDriven",[TObject.ClassName(S.ClassType)])}
if(tWq.h6.indexOf(S.wv)>=0){throw n6.Ud($New(VK),"Only ONE instance of %s is allowed at once",[TObject.ClassName(S.ClassType)])}
TJ.w6(S,tWq);tWq.h6.push(S.wv);return S},Destroy:function(S){var DAw=0;if(S.KP!==null){try{if(S.th!="")nL.BF(S.KP,S,"_free_",0,([]),null,null)}finally{DAw=S.KP.h6.indexOf(S.wv);if(DAw>=0){S.KP.h6.splice(DAw,1)}}}
TObject.Destroy(S)},Destroy$:function($){return $.ClassType.Destroy($)},w6$:function($){return $.ClassType.w6.apply($.ClassType,arguments)}};var CX={$ClassName:"TRTTIPropInfos",$Parent:TObject,$Init:function($){TObject.$Init($);$.tF=[];$.zt=undefined},Cu:function(S,A2,kq){var PV="";var Mu1=0;var GmZ=null;var b4z=0;GmZ=TObject.Create($New(HQ));GmZ.NX="RowID";S.tF.push(GmZ);var $tY;for(b4z=0,$tY=A2.length;b4z<$tY;b4z++){PV=A2[b4z];GmZ=TObject.Create($New(HQ));GmZ.NX=PV;S.tF.push(GmZ)}
S.zt=HG.JT();var $tZ;for(Mu1=0,$tZ=S.tF.length;Mu1<$tZ;Mu1++){GmZ=S.tF[Mu1];GmZ.Ig4=Mu1;if((Mu1>0)&&(Mu1<=kq.length)){GmZ.I9=kq[Mu1-1]}else GmZ.I9=0;S.zt[(GmZ.NX).toUpperCase()]=GmZ}
return S},Destroy:TObject.Destroy};function A7E(dH3,JsP){return v3w(dH3.iZ,(JsP+": "))};function xt(YBl,h2i){var R="";var cd={};cd.v=false;var XH={};XH.v="";var Hx=0;var gD=0;var Co=0;var sb=0;var xy=0;var Ej=undefined;Ej=h2i;sb=parseInt((Ej.length-1),10);R="";Co=0;gD=1;Hx=1;xy=YBl.length;while(Hx<=xy){if(YBl.charAt(Hx-1)=="?"){R=R+YBl.substr(gD-1,(Hx-gD))+":(";if(Co>sb){XH.v="null"}else{XH.v=Yb(Ej[Co],cd);if(cd.v)ns(XH);++Co}
R=R+XH.v+"):";++Hx;gD=Hx}else++Hx}
R+=YBl.substr(gD-1,(Hx-gD));return R};var yy={$ClassName:"ERestException",$Parent:n6,$Init:function($){n6.$Init($)},Destroy:Exception.Destroy};var VK={$ClassName:"EServiceException",$Parent:yy,$Init:function($){yy.$Init($)},Destroy:Exception.Destroy};function dV(rNQ){var R=0;var Hp={};Hp.v=0;var v7={};v7.v=0;var o6={};o6.v=0;var Gb={};Gb.v=0;var Cy={};Cy.v=0;var ya={};ya.v=0;var QB={};QB.v=0;Ag(rNQ,Hp,v7,o6,Gb);aL(rNQ,Cy,ya,QB);R=o6.v+(v7.v*64)+(((Hp.v+(QB.v*32)+(ya.v*1024)+(Cy.v*16384))-1056)*4096);return R};var DDd=["imFree","imContract","imSignature"];function LT(CQo){var R="";var X3="";var eJ=0;var st=null;st=RB.AN($New(RB));try{var $ta;for(eJ=0,$ta=CQo.length;eJ<$ta;eJ++){X3=pX(CQo[eJ]);RB.QT(st,X3)}
R=RB.iK(st)}finally{TObject.Free(st)}
return R};function Av(P3){var R={v:""};try{if(P3){R.v=TObject.ClassName(P3);if(uQ(R.v.substr(0,4),"TSQL")){if(uQ(R.v.substr(4,6),"Record")){Delete(R,1,10)}else Delete(R,1,4)}else if(R.v.charAt(0)=="T")Delete(R,1,1)}else R.v=""}finally{return R.v}};function v3w(jCb,UK){var R="";var VZ="";var oxy=0;var g1="";var PS=[];if(jCb=="")return"";VZ=(UK).toUpperCase();PS=(jCb).split("\r\n");var $tb;for(oxy=0,$tb=PS.length;oxy<$tb;oxy++){g1=PS[oxy];if((g1.substr(0,VZ.length)).toUpperCase()==VZ)return g1.substr((VZ.length+1)-1)}
return R};function TX(LqJ,Hhv,qfd){var R=false;var TK=null;Hhv=(Hhv).toUpperCase();if(Hhv=="ID")Hhv="ROWID";TK=LqJ[Hhv];R=TD(TK);qfd.v=TK;return R};function kJ(rKu,UF){var R={v:undefined};try{var Zv=undefined;VarClear(R);UF.v=0;if(rKu.hx!=200)return R.v;Zv=JSON.parse(rKu.WnB);if(TD(Zv.result))R.v=Zv.result;if(TD(Zv.id))UF.v=parseInt(Zv.id,10)}finally{return R.v}};var ct=["_free_","_contract_","_signature_"];function Yb(s4c,zIk){var R="";zIk.v=HG.SC(s4c);if(HG.kO(s4c)){R="null"}else R=HG.PK(s4c);return R};function fn(jgl){var R=0;if(jgl===null)return 0;if(typeof(jgl)!=="object")return 0;if(Object.prototype.toString.call(jgl)==="[object Array]")return 2;return 1;return R};function Mm(Sbz){return(Sbz).toUpperCase()};function Copy$j8(s,d){d.nI=s.nI;d.UO=s.UO;d.G3=s.G3;d.nN=s.nN;d.GZ=s.GZ;d.WnB=s.WnB;d.iZ=s.iZ;d.hx=s.hx;d.WR=s.WR;d.Oa=s.Oa;return d}
function Clone$j8($){return{nI:$.nI,UO:$.UO,G3:$.G3,nN:$.nN,GZ:$.GZ,WnB:$.WnB,iZ:$.iZ,hx:$.hx,WR:$.WR,Oa:$.Oa}}
function Copy$iD(s,d){d.QM=s.QM;d.Pm=s.Pm;d.M5=s.M5;return d}
function Clone$iD($){return{QM:$.QM,Pm:$.Pm,M5:$.M5}}
function gV(rO9,CW){return QW(rO9,CW)};function QW(Hme,Cg){var R=false;try{Cg.v=parseInt(Hme,10);R=true}catch($e){var TNN=$W($e);R=false}
return R};function K1(ZNv,xlm,gGC,M0k,yI){var R=false;try{yI.v=EncodeTime(ZNv,xlm,gGC,M0k);R=true}catch($e){R=false}
return R};function vm(Cp,aky,ZYV,CC9){var R=false;try{CC9.v=EncodeDate(Cp,aky,ZYV);R=true}catch($e){R=false}
return R};var M8U=["jvUndefined","jvObject","jvArray"];var Mv={$ClassName:"TJSONVariantData",$Parent:TObject,$Init:function($){TObject.$Init($);$.PM=0;$.dY=[];$.RS=[]},kQ:function(S){return S.RS.length},Iw:function(S,NU){Mv.Et(S,JSON.parse(NU));return S},Et:function(S,bt){var cd4="";var ySW=0;S.PM=fn(bt);switch(S.PM){case 1:var mkr=[];S.dY=HG.Tu(bt);mkr=S.dY;var $tc;for(ySW=0,$tc=mkr.length;ySW<$tc;ySW++){cd4=mkr[ySW];S.RS.push(bt[cd4])}
break;case 2:S.RS=bt;break}
return S},Destroy:TObject.Destroy};function pX(If){var R="";R=unescape(encodeURIComponent(If));return R};var mZ={$ClassName:"TAbstractHttpConnection",$Parent:TObject,$Init:function($){TObject.$Init($);$.mP={QM:"",Pm:0,M5:false};$.dg=""},ZS:function(S,lbH){TObject.Create(S);Copy$iD(lbH,S.mP);if(!S.mP.Pm){if(S.mP.M5){S.mP.Pm=443}else S.mP.Pm=80}
if(S.mP.M5){S.dg="https://"}else S.dg="http://";S.dg=S.dg+S.mP.QM+":"+(S.mP.Pm).toString()+"/";return S},Destroy:TObject.Destroy,rN$:function($){return $.ClassType.rN.apply($.ClassType,arguments)}};function s2(rRj,oU){var R=false;var Ml=0;Ml=oU.length;if(rRj.length<Ml){R=false}else R=uQ(rRj.substr(0,Ml),oU);return R};function QR(){return a2(Now())};function uQ(Ex,VU){return(Ex).toUpperCase()==(VU).toUpperCase()};function d9(){return gM};function cG(lw4,Ny,KQ,KC){var R=false;var Cn=0;var Ne=0;Ne=lw4.length;if(Ny.v<=Ne){Cn=Ny.v;while(Cn<=Ne){if(lw4.charAt(Cn-1)==KC){break}else++Cn}
KQ.v=lw4.substr(Ny.v-1,(Cn-Ny.v));Ny.v=Cn+1;R=true}else R=false;return R};function ns(EUy){var xY=0;var z4=0;var zS="";xY=(EUy.v.indexOf("\"")+1);if(!xY){EUy.v="\""+EUy.v+"\"";return}
zS="\""+EUy.v.substr(0,xY)+"\"";var $td;for(z4=xY+1,$td=EUy.v.length;z4<=$td;z4++){if(EUy.v.charAt(z4-1)=="\""){zS+="\"\""}else zS+=EUy.v.charAt(z4-1)}
EUy.v=zS+"\""};function Ag(BaV,jji,L5C,SYw,Gs6){var Qm=null;var Qm=new Date();Pz$RwN(Qm,BaV);jji.v=Qm.getUTCHours();L5C.v=Qm.getUTCMinutes();SYw.v=Qm.getUTCSeconds()};function aL(ddB,Ixo,JIi,gS){var fQ=null;var fQ=new Date();Pz$RwN(fQ,ddB);Ixo.v=fQ.getUTCFullYear();JIi.v=fQ.getUTCMonth()+1;gS.v=fQ.getUTCDate()};function a2(UCe){var R="";if(UCe<=0){R=""}else if(Frac(UCe)==0){R=FormatDateTime("yyyy-mm-dd",UCe)}else if(!Trunc(UCe)){R=FormatDateTime("Thh:nn:ss",UCe)}else R=FormatDateTime("yyyy-mm-ddThh:nn:ss",UCe);return R};var gM={$ClassName:"TSMSHttpConnectionClass",$Parent:mZ,$Init:function($){mZ.$Init($)},rN:function(S,bSL,Li,X76){var bo={v:0};var KJI={};KJI.v="";var a44=0;var Dz="";var le7="";bSL.Oa=new XMLHttpRequest();if(bSL.GZ){bSL.Oa.onreadystatechange=function(){if(bSL.Oa.readyState==4){bSL.Oa.onreadystatechange=null;bSL.hx=parseInt(bSL.Oa.status,10);bSL.iZ=""+bSL.Oa.getAllResponseHeaders();bSL.WnB=""+bSL.Oa.responseText;bSL.GZ()}};bSL.Oa.onerror=bSL.nN;bSL.Oa.open(bSL.G3,S.dg+bSL.WR,true)}else{bSL.Oa.open(bSL.G3,S.dg+bSL.WR,false)}
if(bSL.UO!=""){bo.v=1;while(cG(bSL.UO,bo,KJI,"\n")){a44=(KJI.v.indexOf(":")+1);if(!a44)continue;Dz=Trim$_String_(KJI.v.substr(0,(a44-1)));le7=Trim$_String_(KJI.v.substr((a44+1)-1));if((Dz!="")&&(le7!="")){bSL.Oa.setRequestHeader(Dz,le7)}}}
if(bSL.nI==""){bSL.Oa.send(null)}else{bSL.Oa.send(bSL.nI)}
if(!bSL.GZ){bSL.hx=parseInt(bSL.Oa.status,10);bSL.iZ=""+bSL.Oa.getAllResponseHeaders();bSL.WnB=""+bSL.Oa.responseText}},Destroy:TObject.Destroy,rN$:function($){return $.ClassType.rN.apply($.ClassType,arguments)}};function Pz$Ay(cl){return(cl.getTime()/86400000)+25569}
function Pz$c01(dT){return((dT.getTime()-(60000*dT.getTimezoneOffset()))/86400000)+25569}
function Pz$RwN(RT,yz){RT.setTime((yz-25569)*86400000)}
function Pz$BjI(KpK,EZ9){KpK.setTime(((EZ9-25569)*86400000)+(60000*KpK.getTimezoneOffset()))}
function Copy$nY(s,d){d.wr=s.wr;d.bV=s.bV;d.fv=s.fv;d.YW=s.YW;d.HJ=s.HJ;d.gQ=s.gQ;d.ql=s.ql;d.y4=s.y4;return d}
function Clone$nY($){return{wr:$.wr,bV:$.bV,fv:$.fv,YW:$.YW,HJ:$.HJ,gQ:$.gQ,ql:$.ql,y4:$.y4}}
var RB={$ClassName:"TSHA256",$Parent:TObject,$Init:function($){TObject.$Init($);$.OT=function(){for(var r=[],i=0;i<64;i++)r.push(0);return r}();$.ee={wr:0,bV:0,fv:0,YW:0,HJ:0,gQ:0,ql:0,y4:0};$.bd=$.mg=0},eU:function(S){var wlP=function(){for(var r=[],i=0;i<64;i++)r.push(0);return r}();var Hi={wr:0,bV:0,fv:0,YW:0,HJ:0,gQ:0,ql:0,y4:0};var y8k=0;var H8u=0;var nz=0;Copy$nY(S.ee,Hi);for(y8k=0;y8k<=15;y8k++){wlP[y8k]=bl((((S.OT[y8k*4]<<24)|(S.OT[(y8k*4)+1]<<16))|(S.OT[(y8k*4)+2]<<8))|S.OT[(y8k*4)+3])}
for(y8k=16;y8k<=63;y8k++){wlP[y8k]=bl(((((wlP[y8k-2]>>>17)|(wlP[y8k-2]<<15))^((wlP[y8k-2]>>>19)|(wlP[y8k-2]<<13)))^(wlP[y8k-2]>>>10))+wlP[y8k-7]+((((wlP[y8k-15]>>>7)|(wlP[y8k-15]<<25))^((wlP[y8k-15]>>>18)|(wlP[y8k-15]<<14)))^(wlP[y8k-15]>>>3))+wlP[y8k-16])}
for(y8k=0;y8k<=63;y8k++){H8u=bl(Hi.y4+((((Hi.HJ>>>6)|(Hi.HJ<<26))^((Hi.HJ>>>11)|(Hi.HJ<<21)))^((Hi.HJ>>>25)|(Hi.HJ<<7)))+((Hi.HJ&Hi.gQ)^((~Hi.HJ)&Hi.ql))+WyZ[y8k]+wlP[y8k]);nz=bl(((((Hi.wr>>>2)|(Hi.wr<<30))^((Hi.wr>>>13)|(Hi.wr<<19)))^((Hi.wr>>>22)^(Hi.wr<<10)))+(((Hi.wr&Hi.bV)^(Hi.wr&Hi.fv))^(Hi.bV&Hi.fv)));Hi.y4=Hi.ql;Hi.ql=Hi.gQ;Hi.gQ=Hi.HJ;Hi.HJ=bl(Hi.YW+H8u);Hi.YW=Hi.fv;Hi.fv=Hi.bV;Hi.bV=Hi.wr;Hi.wr=bl(H8u+nz)}
S.ee.wr=bl(S.ee.wr+Hi.wr);S.ee.bV=bl(S.ee.bV+Hi.bV);S.ee.fv=bl(S.ee.fv+Hi.fv);S.ee.YW=bl(S.ee.YW+Hi.YW);S.ee.HJ=bl(S.ee.HJ+Hi.HJ);S.ee.gQ=bl(S.ee.gQ+Hi.gQ);S.ee.ql=bl(S.ee.ql+Hi.ql);S.ee.y4=bl(S.ee.y4+Hi.y4)},AN:function(S){S.ee.wr=1779033703;S.ee.bV=3144134277;S.ee.fv=1013904242;S.ee.YW=2773480762;S.ee.HJ=1359893119;S.ee.gQ=2600822924;S.ee.ql=528734635;S.ee.y4=1541459225;return S},iK:function(S){var R="";var i0i=0;S.OT[S.bd]=128;for(i0i=S.bd+1;i0i<=63;i0i++){S.OT[i0i]=0}
if(S.bd>=56){RB.eU(S);for(i0i=0;i0i<=59;i0i++){S.OT[i0i]=0}}
S.OT[60]=(S.mg&4278190080)>>>24;S.OT[61]=(S.mg&16711680)>>>16;S.OT[62]=(S.mg&65280)>>>8;S.OT[63]=S.mg&255;RB.eU(S);R=(IntToHex(S.ee.wr,8)+IntToHex(S.ee.bV,8)+IntToHex(S.ee.fv,8)+IntToHex(S.ee.YW,8)+IntToHex(S.ee.HJ,8)+IntToHex(S.ee.gQ,8)+IntToHex(S.ee.ql,8)+IntToHex(S.ee.y4,8)).toLowerCase();return R},QT:function(S,tP7){var hQI=0;var jM=0;var Di6=0;var m01=0;hQI=tP7.length;m01=1;(S.mg+=(hQI<<3));while(hQI>0){jM=64-S.bd;if(jM<=hQI){var $te;for(Di6=0,$te=jM;Di6<$te;Di6++){S.OT[S.bd+Di6]=tP7.charCodeAt((m01+Di6)-1)}
(hQI-=jM);(m01+=jM);RB.eU(S);S.bd=0}else{var $tf;for(Di6=0,$tf=hQI;Di6<$tf;Di6++){S.OT[S.bd+Di6]=tP7.charCodeAt((m01+Di6)-1)}
(S.bd+=hQI);break}}},Destroy:TObject.Destroy};function Vv(w9,vRI){var R=0;var c7=0;R=bl(~w9);var $tg;for(c7=1,$tg=vRI.length;c7<=$tg;c7++){R=p7[(R^vRI.charCodeAt(c7-1))&255]^(R>>>8)}
R=bl(~R);return R};function Fz(){var KX=0;var rR=0;var Sx=0;p7=[];for(KX=0;KX<=255;KX++){Sx=KX;for(rR=1;rR<=8;rR++){if(Sx&1){Sx=bl((Sx>>>1)^3988292384)}else Sx=Sx>>>1}
p7.push(Sx)}};function bl(EmO){var R=0;R=EmO>>>0;return R};var WyZ=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];var YQ={$ClassName:"TServiceCalculator",$Parent:TJ,$Init:function($){TJ.$Init($)},w6:function(S,y5h){S.wv="Calculator";S.Dj="Calculator";S.Mi=1;S.pD="1FC2AE72D7E2C88D";TJ.w6(S,y5h);return S},g6:function(S,bWj,JuM,mm,fDn){nL.BF(S.KP,S,"Add",1,([bWj,JuM].slice()),function(pIu){mm(parseInt(pIu[0],10))},fDn)},rI:function(S,jc,ipj){var R=0;var NW=[];NW=nL.ri(S.KP,S,"Add",1,([jc,ipj].slice()));R=parseInt(NW[0],10);return R},Destroy:TObject.Destroy,w6$:function($){return $.ClassType.w6.apply($.ClassType,arguments)}};function JJ(){return am.f4($New(am),([Ec,iH].slice()),"root")};function Df(mOT,QA5,ANu,jYK,DOo,PhS){var tA=null;tA=a9.ks($New(a9),mOT,PhS,JJ(),true,false);nL.Aj(tA,function(FJa){try{if(!j3.h3(tA)){if(DOo)DOo(tA);return}
if(!nL.Up(tA,Hb,QA5,ANu,false)){if(DOo)DOo(tA);return}
if(jYK)jYK(tA)}catch($e){if(DOo)DOo(tA)}},DOo)};var yQ=[];var yQ=["aqua","black","blue","fuchsia","green","gray","lime","maroon","navy","olive","purple","red","silver","teal","white","yellow"].slice();var yO=[];var yO=["#0ff","#000","#00f","#f0f","#008000","#808080","#0f0","#800000","#000080","#808000","#800080","#f00","#c0c0c0","#008080","#fff","#ff00"].slice();var Dt=null;var xU=[];var NS=[];var bH=[];var qA=false;var iN=null;var Yv=2;var ex=1;var Jj=undefined;var Ls=false;var Yg="TW3Button_Pressed";var L=null;var p7=undefined;var Q4=[0,0,0,0,0,0,0,0,0];var qBZ=null;var SI=undefined;var SI=HG.JT();var rA=null;var tj=null;var kB=false;var YJ=0;var ra=0;var u8=null;var FA=null;var bF=null;nr.lG(Go(),"Form1",true,true);nr.s1(Go(),"Form1",Kz);Fz();var $Application=function(){try{qBZ=N.rt($New(Ww));N.J(qBZ)}catch($e){var ySm=$W($e);alert(ySm.FMessage)}}
$Application();
 }
	window.onload = function () { bootstrap(); }
	</script>
</head>

<body></body>

</html>